[plt-scheme] Virtual machine and dynamic language implementation research?

From: Marco Morazan (morazanm at gmail.com)
Date: Thu Jan 3 19:26:11 EST 2008

> "draws on the best virtual machine research and technology of the past
> 30 years and incorporates the newest research in dynamic language
> implementations."
> Has that topic been a "hot area of research? Is it still today?

Well, I will not comment on what the Ruby folks claim or do.

VM technology, however, has been a topic of interest (although I will
not rank its level of hotness). VMs have been used extensively to
implement PLs. In the functional languages realm, Landin's SECD
machine was used by Henderson to implement LISP. Later, Cardelli
developed the FAM machine for a dialect of ML. After these, there have
been many virtual machines designed to implement many different
features of functional PLs (e.g. lazy evaluation (Haskell),
regions(ML-KIT), parallel computing(Eden), distributed memory (MT
Machine), etc.).

In general, Virtual machines (or abstract machines) permit the
evaluation of programs, but omit details of real machines implemented
in hardware. They are used to bridge the gap between high-level
languages and hardware machines by tailoring their set of primitive
operations to specific operations needed by a class of languages. In
addition, virtual machines are used to implement compilers, to
increase maintainability and portability, and to facilitate the
correctness of code generators.

A (now dated) survey of virtual machines for functional and other
languages has been done by Diehl et. al. in 2000.



Posted on the users mailing list.