This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
RE: Translation for extension is a bad idea
- To: cwitty at newtonlabs dot com
- Subject: RE: Translation for extension is a bad idea
- From: Brent Fulgham <brent dot fulgham at xpsystems dot com>
- Date: Fri, 14 Jul 2000 14:00:52 -0700
- Cc: guile at sourceware dot cygnus dot com
> > So, perhaps the GNU project should focus on a common interpreter
> > engine (similar to a JVM) that would support multiple high-level
> > language front-ends?
>
> This would be a great project, but I fear there's a fair bit of basic
> research involved; especially if you want to support languages like
> Prolog or Haskell.
>
Well, it certainly seems that there are plenty of free software
folks who could band together to do something like this. Indulge
me for a sec:
1. MLj Project -- Compiles Standard ML into Java ByteCode
http://www.dcs.ed.ac.uk/home/mlj/
2. GHC -- Glasgow Haskell Compiler now can produce Java Source output
http://www.mail-archive.com/haskell%40haskell.org/msg06670.html
Of course, performance is not that great (and it's not complete).
3. Prolog Cafe -- Translates Prolog to Java Source Code
http://cs32.scitec.kobe-u.ac.jp/~banbara/PrologCafe/
4. Free Prolog Implementation -- Open source Prolog (written in Java)
http://www.binnetcorp.com/OpenCode/free_prolog.html
5. Kawa -- Scheme interpreter/compiler to Java Bytecode
http://www.gnu.org/software/kawa/
6. Sable Project -- Reimplementation of JVM for better performance
(while maintaining byte-code compatibility)
http://www.sablevm.org/
The main disadvantage of the prolog/haskell/scheme (really any functional
language) running on a JVM has been implementing closures and certain
other functional programming features. The "Sable" implementation is
(I believe) aimed at resolving certain of these issues.
Furthermore, a stackless version of Python was created and one of the
main implementers expressed some interest in doing something similar
for Java.
Now, if these various parts could be combined, it might be possible
to produce a GNU JVM (Sable is released as GPL) backend that could
handle Scheme plus other languages with relative ease.
....Just some lazy Friday-afternoon musings....
Regards,
-Brent