[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reviving Guile-VM
Re: Reviving Guile-VM
Fri, 29 Apr 2005 21:40:22 +0100
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050420 Debian/1.7.7-2
Ludovic Courtès wrote:
address@hidden (Ludovic Courtès) writes:
I've started trying to revive Guile-VM which was written by Keisuke
Nishida 5 years ago  and was unfortunately never finished nor
That is excellent news. It always seemed like a very interesting
project when Keisuke was working on it and discussing on the mailing
list. (Unfortunately, though, I can't say that I understood it very much.)
One point of possible interest is that at about that time, qscheme was
also donated to the CVS repo, and my impression was that qscheme also
contained some kind of VM technology. It might be worth you taking a
look at qscheme also, therefore.
I did not mention precisely what Guile-VM is and not everyone heard
about it before. So here we go.
Guile-VM consists of a virtual machine, a compiler, and an assembler.
The VM itself is described in the doc as follows:
A Guile VM has a set of registers and its own stack memory. Guile may
have more than one VM's. Each VM may execute at most one program at a
time. Guile VM is a CISC system so designed as to execute Scheme and
other languages efficiently.
So it's basically a CISC-like machine architecture. The compiler can
compile Guile Scheme code into "assembly code" that uses the VM's
instruction set. This instruction set is purposefully not too close to
Scheme, and not too close either to the underlying processor instruction
Guile-VM's assembler takes a sequence of instructions and produces
bytecode which may be quickly loaded and (hopefully) interpreted by the
Hang on, I thought the instructions were byte code ... How many levels
of byte code are there, and how do they differ?
VM. Other Free Scheme implementations, such as STklos , include an
ad hoc virtual machine. Interpreting bytecode is usually significantly
faster than interpreting source code. Yet, it is still potentially much
slower than equivalent code compiled to the machine's native code (as
with MIT/GNU Scheme ). There were discussions about how well
Guile-VM would perform compared to an interpreter, as in .
Guile-VM has been dormant in the CVS repo  for... 4 years. :-)
- Re: Reviving Guile-VM,
Neil Jerram <=