From: Kelly Murray
Subject: Re: Lisp-to-JavaVM compiler
Date: 
Message-ID: <4nnlfk$apa@sparky.franz.com>
> > [Immediate tagging] really isn't possible to eliminate.  General
> > container structures MUST HAVE tagged data. A hashtable, array,
> > list, object slot must be able to contain generalized objects.
>
>In fact, they don't need to:
>  

How are you going to compile this:

  (defun add-item (item)
    (cons item *items*))

Add-item can't know the type of cons to create at compile time.
Or are you suggesting the compiler figure it out from where it is
called like ML? 
Otherwise it must be able to identify it at runtime.

  (defun generate-item-in-range (start end item-generator)
    (do ((i start (1+ i)))
        ((eq i end))
      (add-item (funcall item-generator i))))
    
Does "i" gets boxed or not?  Are boxed integers EQ?  
----

It certainly is possible to produce a language and a compiler
that may resemble Lisp and have it compile into efficient JAVA-VM.
It may even be a very useful language.  
But it won't be Scheme or CommonLisp, and the large amount of existing
Scheme and CL code would have to be ported over to the new language.

All because a couple bits couldn't be spared?
They could care less what we think or want.  
Because SUN rushed to market with a proprietary solution
to fill the big hole in Web browsers for client-side processing.  
And now is even rushing to market with silicon that runs JAVA-VM.
They didn't need something better, something standard, something proven.
They needed something NEW so it was their OWN.

-Kelly Murray  ยทยทยท@franz.com   http://www.franz.com