On Tue, 26 Aug 1997, David Wilczynski wrote:
> 1) JAVA -- Are there any plans to compile Haskell into byte codes for
> execution on the Java Virtual Machine? The Java issue is very important.
This raises an interesting question (although it doesn't really directly
help David). From what I've read, the JVM is designed to be a
platform independent machine code which:
I) is quickly and efficiently mappable onto a variety of real
architectures.
II) is optimised for representing Java programs and in particular:
III)is designed to be quickly checkable for security concerns (during the
download phase). However this is based on the assumption that what is
being processed is Java; instructions which are safe in the context of
other languages may not qualify as safe for the JVM.
Given II (and III) it's not surprising that functional language -> JVM is
so
fraught.
Is there any mileage in trying to promote an additional, alternative
virtual machine which still retains advantages I and III but has taken a
step backwards so that it's more suitable for languages other than Java?
(From looking at the Pizza mailing list, even Pizza (an extension to Java
that allows higher order functions and lazy evaluation) has problems with
simple, logical extensions which cause no conceptual problems but which
just don't fit into the range of things the JVM is prepared to represent).
Its seems to be the case that other communities such as logic programming,
simulation languages, etc, seem to accept that lightweight,
web-transmitable programming is an important future direction but face a
problem when the JVM is the only bytecode they can use. (One first step
might, perhaps, to see how different the bytecodes in the JVM and the
internal bytecode of nhc are.)
Any thoughts? Any errors in the above?
David Tweed