[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dylan-virtual-machine




On Friday, April 5, 2002, at 09:00  PM, marc wrote:

> What is the current thinking about a dylan-virtual-machine in this
> group?

I think one has to see Dylan in the context out of which it arose - in 
particular, Common Lisp. There really aren't many features that Dylan 
has that Common Lisp doesn't have, *except* those which were 
specifically designed to allow compilation optimized for execution speed.

See, the whole promise of Dylan was the speed of compiled C, with the 
dynamism and multiple dispatch of Common Lisp (insofar as the latter was 
not prevented by the first). The programmer would have the choice of 
whether to maintain full dynamism, at the expense of slower dispatch, or 
sacrifice some dynamism for more optimized compilation, through sealing. 
(The  ability to modify classes and existing instances in a running 
system, and a full MOP allowing changes to the object system itself, 
were also jettisoned in Dylan as keeping them would hamper optimization. 
Dylan also has Hygenic, Pattern Matching Macros, which some in the 
Common Lisp community see as a misfeature, at worst, or an easily solved 
problem at best - a with-gensyms macro does the trick for most people).

Now, if one were to compile Dylan to run on a virtual machine 
(presumably significantly slower than compiled C or FunO compiled Dylan) 
why use Dylan? Why not just take a bit of a speed hit (factor of 2 at 
most, often just as fast as C) and use the full, unrestricted dynamism 
of Common Lisp?

IOW, Dylan only exists so that people who like DOOLs can compile their 
code to run as fast as compiled C or Fortran. If you're willing to 
sacrifice some speed, just use Common Lisp  - the community is much 
larger, there are far more, and more mature implementations, more freely 
available code, etc. And while Dylan has largely languished, some Common 
Lisp compilers (CMUCL, Allegro, Xanalys) are now almost fully on par 
with good optimizing C compilers, farther reducing the need for Dylan...


Raffael Cavallaro, Ph.D.
raffael@attbi.com