Lambda the Ultimate

inactiveTopic Polyglot Programming
started 5/8/2002; 9:01:45 PM - last post 5/10/2002; 7:32:52 AM
Chris Rathman - Polyglot Programming  blueArrow
5/8/2002; 9:01:45 PM (reads: 1017, responses: 4)
Polyglot Programming
Betrand Meyer discusses some of the reasons he likes multi-language support on .Net, and how he thinks the choice of language can amount to more than syntactic sugar.

The scheme described in "Combining Different Language Models" doesn't require that all languages adhere to the .NET object model; rather that they map to that model. That mapping can be made the responsibility of compilers rather than programmers, enabling programming languages to retain their normal semantics, and establishing a correspondence between the specific semantics of each language and the common rules of the common object model.

Meyer has seemingly staked the future of Eiffel on .Net, so it's not surprising that he's cheering the technology. Hopefully, Eiffel will pick up some much needed semantics along the way (hint - reflection).

What would be nicer than the generalizations about how the JVM is a single language solution and CLR is a multilanguage solution, is a more thorough descriptions on what specific aspects of these virtual machines allow different programming models to be used as targets. After all, Meyer has had a Eiffel-to-JVM compiler for years. What specifically about the .Net VM makes it better suited for Eiffel's purposes?
Posted to general by Chris Rathman on 5/8/02; 9:03:17 PM

Franck Arnaud - Re: Polyglot Programming  blueArrow
5/9/2002; 5:26:19 AM (reads: 953, responses: 0)
After all, Meyer has had a Eiffel-to-JVM compiler for years.

I don't think so, most Eiffel-to-JVM projects hit a wall and failed. The only non-failed one I know of is SmallEiffel, which can compile to JVM (in addition to C), but the generated code is in an Eiffel island: you cannot really use Java classes from Eiffel conveniently, and even less in the opposite direction, because of the impedance mismatch between the Eiffel and JVM object models.

Sure there is some impedance mismatch between the CLR and Eiffel, but it seems to have worked out better than the pretty consistent failure of the Eiffel to JVM projects. This suggests the CLR is at least more appropriate as a target for Eiffel, if certainly not a perfect match.

Chris Rathman - Re: Polyglot Programming  blueArrow
5/9/2002; 7:14:11 AM (reads: 931, responses: 0)
This suggests the CLR is at least more appropriate as a target for Eiffel, if certainly not a perfect match.
There has been a lot more time and money spent on multi-language support for the CLR than there was for the JVM - as well as encouragement from the vendor.

What would be nice is if someone would describe the specific differences in the CLR that give it an advantage over the JVM in terms of making alternative models feasible. Beyond that, I'd like to see suggestions for improving the JVM spec - which really hasn't changed a whole lot in the last 8 years.

John Fraser - Re: Polyglot Programming  blueArrow
5/9/2002; 9:34:40 AM (reads: 915, responses: 0)
This was a good read on the subject: http://lambda-the-ultimate.org/classic/messagx2973

Chris Rathman - Re: Polyglot Programming  blueArrow
5/10/2002; 7:32:52 AM (reads: 858, responses: 0)
Must pay closer attention. I think I read that when it was posted, but forgot about it.

Wondering if the specifications for IL instuction set and file format are posted on the net? I took a crack at a Java De-Compiler a while back and will probably try something similar for .Net when I get the specs and time (for educational purposes). Satisfies my old urges of Assembly programming. :-)