1
Fork 0
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:
Andy Wingo 2012-03-06 00:33:14 +01:00
parent 0f6f5fb7f8
commit f28dc43c95

View file

@ -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)