[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