It's an "eval closure", not an "eval thunk." A thunk is a
authorJim Blandy <jimb@red-bean.com>
Thu, 21 Nov 1996 16:16:46 +0000 (16:16 +0000)
committerJim Blandy <jimb@red-bean.com>
Thu, 21 Nov 1996 16:16:46 +0000 (16:16 +0000)
function of no arguments.
* boot-9.scm (module-type): Rename module field.
(make-module, eval-in-module, make-root-module,
set-current-module): Uses changed.
(module-eval-closure, set-module-eval-closure!,
root-module-closure): Renamed from module-eval-thunk,
set-module-eval-thunk!, root-module-thunk.
(set-current-module): Change uses of *top-level-lookup-thunk* to
*top-level-eval-closure*.

ice-9/boot-9.scm

index bcb44d8..a08a6b8 100644 (file)
 ;; A module is characterized by an obarray in which local symbols
 ;; are interned, a list of modules, "uses", from which non-local
 ;; bindings can be inherited, and an optional lazy-binder which
-;; is a (THUNK module symbol) which, as a last resort, can provide
+;; is a (CLOSURE module symbol) which, as a last resort, can provide
 ;; bindings that would otherwise not be found locally in the module.
 ;;
 (define module-type
-  (make-record-type 'module '(obarray uses binder eval-thunk name kind)
+  (make-record-type 'module '(obarray uses binder eval-closure name kind)
                    %print-module))
 
 ;; make-module &opt size uses binder
          ;; We can't pass this as an argument to module-constructor,
          ;; because we need it to close over a pointer to the module
          ;; itself.
-         (set-module-eval-thunk! module
+         (set-module-eval-closure! module
                                  (lambda (symbol define?)
                                    (if define?
                                        (module-make-local-var! module symbol)
 (define set-module-uses! (record-modifier module-type 'uses))
 (define module-binder (record-accessor module-type 'binder))
 (define set-module-binder! (record-modifier module-type 'binder))
-(define module-eval-thunk (record-accessor module-type 'eval-thunk))
-(define set-module-eval-thunk! (record-modifier module-type 'eval-thunk))
+(define module-eval-closure (record-accessor module-type 'eval-closure))
+(define set-module-eval-closure! (record-modifier module-type 'eval-closure))
 (define module-name (record-accessor module-type 'name))
 (define set-module-name! (record-modifier module-type 'name))
 (define module-kind (record-accessor module-type 'kind))
 
 
 (define (eval-in-module exp module)
-  (eval2 exp (module-eval-thunk module)))
+  (eval2 exp (module-eval-closure module)))
 
 \f
 ;;; {Module Searching in General}
 ;;
 
 
-(define (root-module-thunk m s define?)
+(define (root-module-closure m s define?)
   (let ((bi (and (symbol-interned? #f s)
                 (builtin-variable s))))
     (and bi
           bi))))
 
 (define (make-root-module)
-  (make-module 1019 '() root-module-thunk))
+  (make-module 1019 '() root-module-closure))
 
 
 ;; make-scm-module 
 (define (set-current-module m)
   (set! the-module m)
   (if m
-      (set! *top-level-lookup-thunk* (module-eval-thunk the-module))
-      (set! *top-level-lookup-thunk* #f)))
+      (set! *top-level-lookup-closure* (module-eval-closure the-module))
+      (set! *top-level-lookup-closure* #f)))
 
 
 ;; current-module