Hi,
[EMAIL PROTECTED] (Ludovic Courtès) writes:
I've started trying to revive Guile-VM which was written by Keisuke Nishida 5 years ago [1] and was unfortunately never finished nor adopted.
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 set.
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 [1], 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 [2]). There were discussions about how well Guile-VM would perform compared to an interpreter, as in [3].
Guile-VM has been dormant in the CVS repo [4] for... 4 years. :-)
Good luck!
Neil
_______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel