Newsgroups: comp.lang.java,comp.lang.scheme,comp.lang.lisp,gnu.misc.discuss,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!gatech2!swrinde!howland.reston.ans.net!newsfeed.internetmci.com!EU.net!news2.EUnet.fr!news.fnet.fr!ilog!news
From: parquier@halles.ilog.fr (Pierre Parquier)
Subject: Re: Is the Java VM language-independent or not?
In-Reply-To: mct@'s message of 5 Dec 95 09:21:54 -0500
Message-ID: <PARQUIER.95Dec6111056@halles.ilog.fr>
Lines: 34
Sender: news@ilog.fr
Nntp-Posting-Host: halles
Organization: ILOG S.A., Gentilly, France
References: <1995Dec5.092155.20813@indyvax.iupui.edu>
Date: 06 Dec 1995 10:10:50 GMT
Xref: glinda.oz.cs.cmu.edu comp.lang.java:8667 comp.lang.scheme:14505 comp.lang.lisp:20121 gnu.misc.discuss:25203 comp.lang.misc:24073


In article <1995Dec5.092155.20813@indyvax.iupui.edu> mct@ (mct) writes:

	   WHAT'S IN THE JVM TO PREVENT US COMPILING FROM SCHEME OR ML?

I don't know about JVM internals, but if you're thinking of the
broader issue: "What's prevents us from compiling from Scheme or ML to
JVM?", I found an interesting statement in "The Java Language
Environment, A white Paper", from James Gosling and Henry McGilton,
Sun Microsystem, May 1995, section "4.2 Security in the Java
Environment":

	What about the concept of a "hostile compiler"?  [...] the
	code may not have been produced by a known-to-be trustworthy
	Java compile. [...] The answer is simple -- [Java run-time
	system] doesn't trust the incoming [byte] code, but subjects
	it to byte code verification.

The byte code verifier is shortly discribed (1 page) in that paper.

This statement implies that the availability of JVM on the Web is
meant to be restricted by this "byte code verifier", whose role is to
check that you're not trying to use the JVM running on the Web for
anything else than strict Java code.  Given the Web market orientation
of Java, this restriction makes a lot of sense.

So you should not think of running you Scheme code as JVM code on the
Web!

Since you cannot use JVM Web implementations to run your Scheme, then
why would you bother compiling Scheme to JVM?  Or is there some hope
this restriction can be raised?

Pierre
