On 10/10/10 10:52 AM, Julian Leviston wrote:
I'm not entirely sure why the idea of pattern expressions and
meta-translators wasn't an awesome idea.

Maybe we're still missing a lot of general purpose tools to work with all that?

If expressing an idea cleanly in a language is possible, and expressing
that language in another language clearly and cleanly is possible, why is
it not possible to write a tool which will re-express that original idea
in the second language, or any other target language for that matter?

Well, I can wonder if it just not possible to express and idea outside of a social community? (That's a bit philosophical though. :-)
  http://en.wikipedia.org/wiki/Social_constructivism
  http://en.wikipedia.org/wiki/Social_constructionism
"Although both social constructionism and social constructivism deal with ways in which social phenomena develop, they are distinct. Social constructionism refers to the development of phenomena relative to social contexts while social constructivism refers to an individual's making meaning of knowledge within a social context (Vygotsky 1978). For this reason, social constructionism is typically described as a sociological concept whereas social constructivism is typically described as a psychological concept. However, while distinct, they are also complementary aspects of a single process through which humans in society create their worlds and, thereby, themselves."

But in practice, having written some ad hoc translators from one programming language and library set to another, there are idiomatic and paradigm issues that come up, ones that would really take some sort of fancy bordering-on-AI-ish capacity to deal with. It's doable (in theory, as many AI-ish solutions are), but it's not usually trivial in practice because of the details involved in thinking about ways that things map to each other, how to reason about all that, and how to involve humans in that loop.

So, say, if you are translating a GUI application that uses a drop down combo box and the target platform does not have such a widget, what do you do? Do you change the GUI to have a button an a popup window with a list, do you synthesize the functionality by generating a new widget, do you put in a stub for the programmer to fill in, or do you involve a person in realtime to make that choice (or create a widget) and then keep a note of it somewhere for future reference?

I thought this development of a meta-translator was not only one of the
FUNC goals, but one that had for the most part been at least completed?

Software is never "done". :-) Especially because the world keeps changing around it. :-) And especially when it is "research" and doing basic research looking for new ideas. :-)

Although I'm still a bit confused by what OMeta does that Antlr (and ANTLRWorks) can't do? And Antlr, while really neat as a system, is just a platform on which to build translators with a lot of hard work.
  http://tinlizzie.org/ometa/
  http://www.antlr.org/

So, I would expect, likewise, that OMeta would be also a platform on which people can put in a lot of hard work on top of? But I have not used OMeta, so I can't speak to all the differences, even as I've seen the limits of other parsing systems I've used, like Antlr (as well as their powers, which can take a while to appreciate).

Anyway, if someone could clarify the differences in either goals or implementation between OMeta and Antlr, that might be helpful in understanding what one could (or could not) do with it, given Antlr has not magically given us a higher level of semantic abstraction for dealing with programming systems (even as Antlr is a great system for transforming hierarchies encoded in some textual way). Antlr is just the beginning, like, say, Smalltalk is just the beginning. So, I'd imagine OMeta is just a beginning in that sense.

But I have a feeling this will bring us back to my point in the previous section, that knowledge is in a sense social, and a translator (or language) by itself is only part of the puzzle.

And, btw, in that sense, "personal computing" by definition can not exist, at least, not if it involves humans dealing in "socially constructed knowledge". :-) And thus the value in telescopes/microscopes to let individuals look out on that social context or the artifacts it presents us with.

--Paul Fernhout
http://www.pdfernhout.net/
====
The biggest challenge of the 21st century is the irony of technologies of
abundance in the hands of those thinking in terms of scarcity.

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to