This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Translation for extension is a bad idea


> > 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]