the switch on Frankenstein's monster. However, this magic is perceived
by many to be impenetrable.
-This section aims to pull back the veil from over Guile's compiler
-implementation, and pay attention to the small man behind the curtain.
+This section aims to pay attention to the small man behind the
+curtain.
@xref{Read/Load/Eval/Compile}, if you're lost and you just wanted to
know how to compile your .scm file.
@node Guile Implementation
@chapter Guile Implementation
-Things that aren't necessary to know to use guile, but that are
-interesting once you decide that Guile is interesting.
-
-Also Schemers as closet compiler writers.
+At some point, after one has been programming in Scheme for some time,
+another level of Scheme comes into view: its implementation. Knowledge
+of how Scheme can be implemented turns out to be necessary to become
+an expert hacker. As Peter Norvig notes in his retrospective on
+PAIP@footnote{PAIP is the common abbreviation for @cite{Paradigms of
+Artificial Intelligence Programming}, an old but still useful text on
+Lisp. Norvig's retrospective sums up the lessons of PAIP, and can be
+found at @uref{http://norvig.com/Lisp-retro.html}.}, ``The expert Lisp
+programmer eventually develops a good `efficiency model'.''
+
+By this Norvig means that over time, the Lisp hacker eventually
+develops an understanding of how much her code ``costs'' in terms of
+space and time.
+
+This chapter describes Guile as an implementation of Scheme: its
+history, how it represents and evaluates its data, and its compiler.
+This knowledge can help you to make that step from being one who is
+merely familiar with Scheme to being a real hacker.
@menu
* History:: A brief history of Guile.
straightforward, in general terms.
* The Libguile Runtime Environment:: Low-level details on Guile's C
runtime library.
-* A Virtual Machine for Guile:: Foo.
-* Compiling to the Virtual Machine:: Bar.
+* A Virtual Machine for Guile:: How compiled procedures work.
+* Compiling to the Virtual Machine:: Not as hard as you might think.
@end menu
@include history.texi