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