Introduction and misc ideas
Thu Jun 6 06:12:01 2002
On Thu, 6 Jun 2002, Armin Rigo wrote:
> Alexis Read wrote:
> > Language independent aka inventing a new 'superset' language no?
> I do not agree that language-independance means inventing a new superset
> language. We need ways to express bridges between them, and even
> imperfect bridges when the concepts do not match a priori. I dislike the
> idea of taking a single (however powerful) language as a foundation.
Ok, so the question then is: how do we express bridges between them?
One commercial way of expressing bridges is via CORBA. CORBA has an Object
Management Architecture (OMA) which uses an OMG Object Model. The OMG
Object Model defines common object semantics for specifying the externally
visible characteristics of objects in a standard and
implementation-independent way. In this model clients request services
from objects (which will also be called servers) through a well-defined
interface. This interface is specified in OMG IDL (Interface Definition
or just google: corba tutorial
For imperfect bridges when the concepts do not match a priori, the IDL
must be able to describe/map the differences in a useful way.
We're still using a language here, albeit a stripped down one that has
been 'invented' rather than extended from C or something. I don't see any
way of getting round the need for a language to link others together, so
if there is a way I'd be grateful to hear from you.
This language must be able to describe/map the syntax and semantics
between others, so its descriptive ability must be at least as good as the
two languages it is trying to bridge.
Inventing a superset language is probably not the right term to use here,
but I hope you see where I'm coming from.
> > XSLT has no reflective capability that I can see, hence extending the
> > language won't be that clean.
> I have found a stricking closeness between John Hughes's paper (link in
> previous e-mail) and "Reflection-Oriented Programming" by Sobel and
> Friedman, and althought Hughes' arrows seem to allow a more abstract and
> more powerful way of doing what Sobel and Friedman do, he never talks
> about reflectivity. In fact I guess that the arrows formalism could be
> the correct way to introduce reflectivity in any functional language
> that can support it.
The arrows formalism I guess can be thought of as a construct which can
describe syntax and semantics as above, the thing is, working with this
formalism is akin to working in a new language.
I think that introducing reflectivity via arrows is Brian's intention so
he may have more to say on the subject.
The other formalism that seems to be as powerful, is rewrite logic, which
has been developed further in CafeOBJ, Maude, ELAN and BOBJ. The
capabilities of Maude in particular have reached such a point where it is
almost usable to regular programmers.
see the link I gave last time for Maude. The semantics are somwhat similar
to VHDL and ADA so if you're familiar with them, its easy to learn.