diff options
author | Andy Wingo <wingo@pobox.com> | 2012-03-06 00:33:14 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2012-03-06 00:51:49 +0100 |
commit | f28dc43c959f74164daf9eeabfdd6ccb19556f60 (patch) | |
tree | 8a2c0070c4635c7ab8c4bc601cc3b4f23cc63243 | |
parent | 0f6f5fb7f83e6faa3547a116cd6b43d947f429b0 (diff) | |
download | guile-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.scm | 21 |
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) |