1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

Clarify bootstrap docs

* doc/ref/vm.texi: Add a sentence stating which parts of the bytecode
  toolchain are in C, and which are in Scheme. This avoids confusion if
  users assume Guile==Scheme and so assume the whole toolchain is in
  Scheme.
This commit is contained in:
Wilfred Hughes 2016-09-04 20:14:49 -04:00 committed by Andy Wingo
parent cb421b6546
commit 605a01bfce

View file

@ -62,10 +62,12 @@ The obvious solution is to compile to a virtual machine that is
present on all Guile installations.
The easiest (and most fun) way to depend on a virtual machine is to
implement the virtual machine within Guile itself. This way the
virtual machine provides what Scheme needs (tail calls, multiple
values, @code{call/cc}) and can provide optimized inline instructions
for Guile (@code{cons}, @code{struct-ref}, etc.).
implement the virtual machine within Guile itself. Guile contains a
bytecode interpreter (written in C) and a Scheme to bytecode compiler
(written in Scheme). This way the virtual machine provides what Scheme
needs (tail calls, multiple values, @code{call/cc}) and can provide
optimized inline instructions for Guile (@code{cons}, @code{struct-ref},
etc.).
So this is what Guile does. The rest of this section describes that VM
that Guile implements, and the compiled procedures that run on it.