[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reviving Guile-VM
From: |
Ludovic Courtès |
Subject: |
Re: Reviving Guile-VM |
Date: |
Mon, 02 May 2005 18:43:24 +0200 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
Hello,
Neil Jerram <address@hidden> writes:
> 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.)
Well, it seems that it had became quite ambitious in the end.
> 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.
QScheme [1] has apparently been abandoned since 2000, and it looks like
its VM has never been fully functional. Guile-VM seems much more mature
actually. However, that of STklos is fully functional and it seems to
be pretty close to Guile-VM (similar instruction set).
> Hang on, I thought the instructions were byte code ... How many
> levels of byte code are there, and how do they differ?
Bytecode is just the binary representation of a sequence of
instructions, no more.
However, the compiler does use _two_ intermediate languages when
compiling Scheme to VM "assembly":
Scheme -> GHIL -> GLIL -> assembly
(where GHIL stands for "Guile's High-level Intermediate Language" and
GLIL stands for "Guile's Low-level Intermediate Language"). The former
is pretty close to Scheme while the latter is closer to the VM's
assembly. I think the goal was to make Guile-VM easily usable for other
languages as well. Fun. ;-)
Thanks,
Ludovic.
[1] http://sof.ch/dan/qscheme/index-e.html