aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-08 21:50:53 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-08 23:42:15 +0200
commitef4ab0a4c55f47e581e7a47622061f1583676d1e (patch)
tree6d92964de1cc64f1da53e66f1076f332cf27caa6
parent03178aec1dc63c630374b1aed2178140c185b9f5 (diff)
downloadpatches-ef4ab0a4c55f47e581e7a47622061f1583676d1e.tar
patches-ef4ab0a4c55f47e581e7a47622061f1583676d1e.tar.gz
doc: Mention Kiselyov's work on "staging".
* doc/guix.texi (G-Expressions): Mention Oleg's work on "staging" in footnote.
-rw-r--r--doc/guix.texi12
1 files changed, 8 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e127b0f76a..2aacf5d9b6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1995,10 +1995,14 @@ build the derivations; they are run by the daemon in a container
It should come as no surprise that we like to write those build actions
in Scheme. When we do that, we end up with two @dfn{strata} of Scheme
code@footnote{The term @dfn{stratum} in this context was coined by
-Manuel Serrano et al.@: in the context of their work on Hop.}: the
-``host code''---code that defines packages, talks to the daemon,
-etc.---and the ``build code''---code that actually performs build
-actions, such as making directories, invoking @command{make}, etc.
+Manuel Serrano et al.@: in the context of their work on Hop. Oleg
+Kiselyov, who has written insightful
+@url{http://okmij.org/ftp/meta-programming/#meta-scheme, essays and code
+on this topic}, refers to this kind of code generation as
+@dfn{staging}.}: the ``host code''---code that defines packages, talks
+to the daemon, etc.---and the ``build code''---code that actually
+performs build actions, such as making directories, invoking
+@command{make}, etc.
To describe a derivation and its build actions, one typically needs to
embed build code inside host code. It boils down to manipulating build