mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
more clear comments in boot-9.scm
* module/ice-9/boot-9.scm: Update comment header for language primitives.
This commit is contained in:
parent
0f6f5fb7f8
commit
f28dc43c95
1 changed files with 10 additions and 11 deletions
|
@ -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
|
;; These are are the procedural wrappers around the primitives of
|
||||||
|
;; Guile's language: @apply, @call-with-current-continuation, etc.
|
||||||
;;; 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
|
;; Usually, a call to a primitive is compiled specially. The compiler
|
||||||
;;; expression in Guile, and e.g. @apply is one of them. (It has to be that way
|
;; knows about all these kinds of expressions. But the primitives may
|
||||||
;;; to preserve tail recursion.)
|
;; be referenced not only as operators, but as values as well. These
|
||||||
;;;
|
;; stub procedures are the "values" of apply, dynamic-wind, and other
|
||||||
;;; Usually we recognize (apply foo bar) to be an instance of @apply, but in the
|
;; such primitives.
|
||||||
;;; case that apply is passed to apply, or we're bootstrapping, we need a
|
;;
|
||||||
;;; trampoline -- and here they are.
|
|
||||||
(define (apply fun . args)
|
(define (apply fun . args)
|
||||||
(@apply fun (apply:nconc2last args)))
|
(@apply fun (apply:nconc2last args)))
|
||||||
(define (call-with-current-continuation proc)
|
(define (call-with-current-continuation proc)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue