Here's my proposed change as a patch against master, currently cb421b6546ad3e09299462df63c389aa734fdba8.
On 4 September 2016 at 01:06, GNU bug Tracking System <help-debb...@gnu.org> wrote: > Thank you for filing a new bug report with debbugs.gnu.org. > > This is an automatically generated reply to let you know your message > has been received. > > Your message is being forwarded to the package maintainers and other > interested parties for their attention; they will reply in due course. > > Your message has been sent to the package maintainer(s): > bug-guile@gnu.org > > If you wish to submit further information on this problem, please > send it to 24...@debbugs.gnu.org. > > Please do not send mail to help-debb...@gnu.org unless you wish > to report a problem with the Bug-tracking system. > > -- > 24363: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24363 > GNU Bug Tracking System > Contact help-debb...@gnu.org with problems >
diff --git a/doc/ref/vm.texi b/doc/ref/vm.texi index 2f32c51..9766ccb 100644 --- a/doc/ref/vm.texi +++ b/doc/ref/vm.texi @@ -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.