summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2012-03-06 00:33:14 +0100
committerAndy Wingo <wingo@pobox.com>2012-03-06 00:51:49 +0100
commitf28dc43c959f74164daf9eeabfdd6ccb19556f60 (patch)
tree8a2c0070c4635c7ab8c4bc601cc3b4f23cc63243
parent0f6f5fb7f83e6faa3547a116cd6b43d947f429b0 (diff)
downloadguile-f28dc43c959f74164daf9eeabfdd6ccb19556f60.tar.gz
more clear comments in boot-9.scm
* module/ice-9/boot-9.scm: Update comment header for language primitives.
-rw-r--r--module/ice-9/boot-9.scm21
1 files changed, 10 insertions, 11 deletions
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index fab1e1735..ae1fece37 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -186,19 +186,18 @@ If there is no handler at all, Guile prints an error and then exits."
-;;; {R4RS compliance}
+;;; {Language primitives}
;;;
-;;;; apply and call-with-current-continuation
-
-;;; The deal with these is that they are the procedural wrappers around the
-;;; primitives of Guile's language. There are about 20 different kinds of
-;;; expression in Guile, and e.g. @apply is one of them. (It has to be that way
-;;; to preserve tail recursion.)
-;;;
-;;; Usually we recognize (apply foo bar) to be an instance of @apply, but in the
-;;; case that apply is passed to apply, or we're bootstrapping, we need a
-;;; trampoline -- and here they are.
+;; These are are the procedural wrappers around the primitives of
+;; Guile's language: @apply, @call-with-current-continuation, etc.
+;;
+;; Usually, a call to a primitive is compiled specially. The compiler
+;; knows about all these kinds of expressions. But the primitives may
+;; be referenced not only as operators, but as values as well. These
+;; stub procedures are the "values" of apply, dynamic-wind, and other
+;; such primitives.
+;;
(define (apply fun . args)
(@apply fun (apply:nconc2last args)))
(define (call-with-current-continuation proc)