chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] [PATCH 1/1] Split eval.scm into chicken.eval and chick


From: Evan Hanson
Subject: [Chicken-hackers] [PATCH 1/1] Split eval.scm into chicken.eval and chicken.load modules
Date: Tue, 2 May 2017 19:33:24 +1200

This reorganises things in eval.scm so that two sets of procedures,
those supporting `eval` and those dealing with code loading, can be
logically grouped, allowing us to create a new, self-contained
"chicken.load" module dedicated to the latter.

Most of this patch is just swapping two large hunks around: the code
relating to environments moves up the file into the existing chicken.eval
module, while the foreign variables and constants that relate to dynamic
code loading move down the file into a new chicken.load module.
---
 README                |   1 +
 batch-driver.scm      |   1 +
 chicken.import.scm    |  17 +--
 core.scm              |   5 +-
 csi.scm               |   1 +
 defaults.make         |   2 +-
 distribution/manifest |   2 +
 eval.scm              | 306 +++++++++++++++++++++++++-------------------------
 modules.scm           |   5 +-
 rules.make            |  11 +-
 types.db              |  19 ++--
 11 files changed, 195 insertions(+), 175 deletions(-)

diff --git a/README b/README
index 633d364a..27db7bb6 100644
--- a/README
+++ b/README
@@ -304,6 +304,7 @@ _/        _/    _/    _/    _/        _/  _/    _/        
_/    _/_/
        |   |       |-- chicken.io.import.so
        |   |       |-- chicken.irregex.import.so
        |   |       |-- chicken.keyword.import.so
+       |   |       |-- chicken.load.import.so
        |   |       |-- chicken.locative.import.so
        |   |       |-- chicken.lolevel.import.so
        |   |       |-- chicken.memory.import.so
diff --git a/batch-driver.scm b/batch-driver.scm
index be86ab10..85307c4f 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -40,6 +40,7 @@
        chicken.format
        chicken.gc
        chicken.internal
+       chicken.load
        chicken.pathname
        chicken.platform
        chicken.pretty-print
diff --git a/chicken.import.scm b/chicken.import.scm
index 359f5b4f..b19e72b5 100644
--- a/chicken.import.scm
+++ b/chicken.import.scm
@@ -52,7 +52,7 @@
    current-read-table
    delete-file
    directory-exists?
-   (dynamic-load-libraries . chicken.eval#dynamic-load-libraries)
+   (dynamic-load-libraries . chicken.load#dynamic-load-libraries)
    enable-warnings
    equal=?
    (er-macro-transformer . chicken.expand#er-macro-transformer)
@@ -118,10 +118,11 @@
    (installation-repository . chicken.platform#installation-repository)
    (ir-macro-transformer . chicken.expand#ir-macro-transformer)
    keyword-style
-   (load-library . chicken.eval#load-library)
-   (load-noisily . chicken.eval#load-noisily)
-   (load-relative . chicken.eval#load-relative)
-   (load-verbose . chicken.eval#load-verbose)
+   (load-extension . chicken.load#load-extension)
+   (load-library . chicken.load#load-library)
+   (load-noisily . chicken.load#load-noisily)
+   (load-relative . chicken.load#load-relative)
+   (load-verbose . chicken.load#load-verbose)
    (machine-byte-order . chicken.platform#machine-byte-order)
    (machine-type . chicken.platform#machine-type)
    make-blob
@@ -143,8 +144,8 @@
    port-name
    port-position
    port?
-   (provide . chicken.eval#provide)
-   (provided? . chicken.eval#provided?)
+   (provide . chicken.load#provide)
+   (provided? . chicken.load#provided?)
    print
    print-call-chain
    print-error-message
@@ -161,7 +162,7 @@
    remprop!
    rename-file
    (repository-path . chicken.platform#repository-path)
-   (require . chicken.eval#require)
+   (require . chicken.load#require)
    reset
    reset-handler
    return-to-host
diff --git a/core.scm b/core.scm
index c3432a89..a46f281e 100644
--- a/core.scm
+++ b/core.scm
@@ -328,12 +328,13 @@
        chicken.eval
        chicken.expand
        chicken.foreign
-        chicken.pathname
        chicken.format
        chicken.internal
        chicken.io
        chicken.keyword
-       chicken.pretty-print)
+       chicken.load
+       chicken.pretty-print
+       chicken.pathname)
 
 (define (d arg1 . more)
   (when (##sys#debug-mode?)
diff --git a/csi.scm b/csi.scm
index b4d7d778..72defb80 100644
--- a/csi.scm
+++ b/csi.scm
@@ -52,6 +52,7 @@ EOF
        chicken.internal
        chicken.io
        chicken.keyword
+       chicken.load
        chicken.platform
        chicken.port
        chicken.pretty-print
diff --git a/defaults.make b/defaults.make
index 51af1cd2..6bf867c4 100644
--- a/defaults.make
+++ b/defaults.make
@@ -266,7 +266,7 @@ CHICKEN_PROGRAM_OPTIONS += $(if $(PROFILE_OBJECTS),-profile)
 PRIMITIVE_IMPORT_LIBRARIES = chicken chicken.csi chicken.foreign
 DYNAMIC_IMPORT_LIBRARIES = srfi-4
 DYNAMIC_CHICKEN_IMPORT_LIBRARIES = bitwise errno file.posix fixnum flonum \
-       format gc io keyword locative memory platform posix \
+       format gc io keyword load locative memory platform posix \
        pretty-print process process.signal process-context random \
        time time.posix
 DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES = user-pass
diff --git a/distribution/manifest b/distribution/manifest
index 834a7b83..97f41d79 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -302,6 +302,8 @@ chicken.irregex.import.scm
 chicken.irregex.import.c
 chicken.keyword.import.scm
 chicken.keyword.import.c
+chicken.load.import.scm
+chicken.load.import.c
 chicken.locative.import.scm
 chicken.locative.import.c
 chicken.lolevel.import.scm
diff --git a/eval.scm b/eval.scm
index 87670a1c..2f3e64d1 100644
--- a/eval.scm
+++ b/eval.scm
@@ -45,96 +45,22 @@
 <#
 
 (module chicken.eval
-  (dynamic-load-libraries
-   eval eval-handler
-   load load-library load-noisily load-relative load-verbose
-   interaction-environment null-environment scheme-report-environment
-   load-extension provide provided?
-   require set-dynamic-load-mode!)
+  (eval eval-handler
+   interaction-environment null-environment scheme-report-environment)
 
 ;; Exclude bindings defined within this module.
-(import (except scheme eval load interaction-environment null-environment 
scheme-report-environment)
-       (except chicken provide provided? require))
-
-(import chicken.expand
-       chicken.foreign
+(import (except scheme eval interaction-environment null-environment 
scheme-report-environment)
+       (except chicken eval-handler)
+       chicken.expand
        chicken.internal
-       chicken.keyword
-       chicken.platform)
+       chicken.keyword)
 
 (include "common-declarations.scm")
-(include "mini-srfi-1.scm")
-(include "egg-information.scm")
 
 (define-syntax d (syntax-rules () ((_ . _) (void))))
 
 (provide* eval) ; TODO remove after a snapshot release
 
-(define-foreign-variable binary-version int "C_BINARY_VERSION")
-(define-foreign-variable uses-soname? bool "C_USES_SONAME")
-(define-foreign-variable install-lib-name c-string "C_INSTALL_LIB_NAME")
-
-(define-constant core-unit-requirements
-  '((scheme ; XXX not totally correct, also needs eval
-     . (##core#require library))
-    (chicken.foreign
-     . (##core#require-for-syntax chicken-ffi-syntax))
-    (chicken
-     . (##core#begin
-       (##core#require-for-syntax chicken-syntax)
-       (##core#require library)))))
-
-(define-constant core-units
-  '(chicken-syntax chicken-ffi-syntax continuation data-structures eval
-    expand extras file files internal irregex library lolevel pathname
-    port posix srfi-4 tcp repl read-syntax))
-
-(define-constant cygwin-default-dynamic-load-libraries '("cygchicken-0"))
-(define-constant macosx-load-library-extension ".dylib")
-(define-constant windows-load-library-extension ".dll")
-(define-constant hppa-load-library-extension ".sl")
-(define-constant default-load-library-extension ".so")
-(define-constant environment-table-size 301)
-(define-constant source-file-extension ".scm")
-(define-constant windows-object-file-extension ".obj")
-(define-constant unix-object-file-extension ".o")
-(define-constant loadable-file-extension ".so")
-
-(define object-file-extension
-  (cond ((eq? (software-type) 'windows) windows-object-file-extension)
-       (else unix-object-file-extension)))
-
-(define load-library-extension
-  (cond ((eq? (software-type) 'windows) windows-load-library-extension)
-       ((eq? (software-version) 'macosx) macosx-load-library-extension)
-       ((and (eq? (software-version) 'hpux) 
-             (eq? (machine-type) 'hppa)) hppa-load-library-extension)
-       (else default-load-library-extension) ) )
-
-(define ##sys#load-dynamic-extension default-load-library-extension)
-
-
-; these are actually in unit extras, but that is used by default
-
-(define-constant builtin-features
-  '(srfi-30 srfi-46 srfi-61 srfi-62                   ; runtime
-    srfi-0 srfi-2 srfi-8 srfi-9 srfi-11 srfi-15       ; syntax
-    srfi-16 srfi-17 srfi-26 srfi-31 srfi-55 srfi-88)) ; syntax cont
-
-(define default-dynamic-load-libraries
-  (case (build-platform)
-    ((cygwin) cygwin-default-dynamic-load-libraries)
-    (else `(,(string-append "lib" install-lib-name)))))
-
-
-;;; Library registration (used for code loading):
-
-(define (##sys#provide id)
-  (##core#inline_allocate ("C_a_i_provide" 8) id))
-
-(define (##sys#provided? id)
-  (##core#inline "C_i_providedp" id))
-
 
 ;;; Compile lambda to closure:
 
@@ -658,7 +584,7 @@
 
                         [(##core#require-for-syntax)
                          (let ((id (cadr x)))
-                           (load-extension id)
+                           (chicken.load#load-extension id)
                            (compile '(##core#undefined)
                             e #f tf cntr se #f))]
 
@@ -875,6 +801,150 @@
                          (fx+ argc 1) ) ] ) ) ) ) )
 
 
+;;; Environments:
+
+(define interaction-environment
+  (let ((e (##sys#make-structure 'environment 'interaction-environment #f #f)))
+    (lambda () e)))
+
+(define-record-printer (environment e p)
+  (##sys#print "#<environment " #f p)
+  (##sys#print (##sys#slot e 1) #f p)
+  (##sys#write-char-0 #\> p))
+
+(define scheme-report-environment)
+(define null-environment)
+
+(let* ((r4s (module-environment 'r4rs 'scheme-report-environment/4))
+       (r5s (module-environment 'scheme 'scheme-report-environment/5))
+       (r4n (module-environment 'r4rs-null 'null-environment/4))
+       (r5n (module-environment 'r5rs-null 'null-environment/5)))
+  (define (strip se)
+    (foldr
+     (lambda (s r)
+       (if (memq (car s)
+                '(import
+                  import-syntax
+                  import-for-syntax
+                  import-syntax-for-syntax
+                  require-extension
+                  require-extension-for-syntax
+                  require-library
+                  begin-for-syntax
+                  export
+                  module
+                  cond-expand
+                  syntax
+                  reexport))
+          r
+          (cons s r)))
+     '()
+     se))
+  ;; Strip non-std syntax from SEs
+  (##sys#setslot r4s 2 (strip (##sys#slot r4s 2)))
+  (##sys#setslot r4n 2 (strip (##sys#slot r4n 2)))
+  (##sys#setslot r5s 2 (strip (##sys#slot r5s 2)))
+  (##sys#setslot r5n 2 (strip (##sys#slot r5n 2)))
+  (set! scheme-report-environment
+    (lambda (n)
+      (##sys#check-fixnum n 'scheme-report-environment)
+      (case n
+       ((4) r4s)
+       ((5) r5s)
+       (else
+        (##sys#error
+         'scheme-report-environment
+         "unsupported scheme report environment version" n)))))
+  (set! null-environment
+    (lambda (n)
+      (##sys#check-fixnum n 'null-environment)
+      (case n
+       ((4) r4n)
+       ((5) r5n)
+       (else
+        (##sys#error
+         'null-environment
+         "unsupported null environment version" n))))))
+
+) ; eval module
+
+
+(module chicken.load
+  (dynamic-load-libraries
+   load load-extension load-library load-noisily load-relative load-verbose
+   provide provided? require set-dynamic-load-mode!)
+
+(import (except scheme load) chicken chicken.foreign chicken.internal)
+
+(include "mini-srfi-1.scm")
+(include "egg-information.scm")
+
+;;; Installation locations
+
+(define-foreign-variable binary-version int "C_BINARY_VERSION")
+(define-foreign-variable install-lib-name c-string "C_INSTALL_LIB_NAME")
+(define-foreign-variable uses-soname? bool "C_USES_SONAME")
+
+(define-constant core-unit-requirements
+  '((scheme ; XXX not totally correct, also needs eval
+     . (##core#require library))
+    (chicken.foreign
+     . (##core#require-for-syntax chicken-ffi-syntax))
+    (chicken
+     . (##core#begin
+       (##core#require-for-syntax chicken-syntax)
+       (##core#require library)))))
+
+(define-constant core-units
+  '(chicken-syntax chicken-ffi-syntax continuation data-structures eval
+    expand extras file files internal irregex library lolevel pathname
+    port posix srfi-4 tcp repl read-syntax))
+
+(define-constant cygwin-default-dynamic-load-libraries '("cygchicken-0"))
+(define-constant macosx-load-library-extension ".dylib")
+(define-constant windows-load-library-extension ".dll")
+(define-constant hppa-load-library-extension ".sl")
+(define-constant default-load-library-extension ".so")
+(define-constant source-file-extension ".scm")
+(define-constant windows-object-file-extension ".obj")
+(define-constant unix-object-file-extension ".o")
+(define-constant loadable-file-extension ".so")
+
+(define object-file-extension
+  (cond ((eq? (software-type) 'windows) windows-object-file-extension)
+       (else unix-object-file-extension)))
+
+(define load-library-extension
+  (cond ((eq? (software-type) 'windows) windows-load-library-extension)
+       ((eq? (software-version) 'macosx) macosx-load-library-extension)
+       ((and (eq? (software-version) 'hpux)
+             (eq? (machine-type) 'hppa)) hppa-load-library-extension)
+       (else default-load-library-extension)))
+
+(define ##sys#load-dynamic-extension default-load-library-extension)
+
+; these are actually in unit extras, but that is used by default
+
+(define-constant builtin-features
+  '(srfi-30 srfi-46 srfi-61 srfi-62                   ; runtime
+    srfi-0 srfi-2 srfi-8 srfi-9 srfi-11 srfi-15       ; syntax
+    srfi-16 srfi-17 srfi-26 srfi-31 srfi-55 srfi-88)) ; syntax cont
+
+(define default-dynamic-load-libraries
+  (case (build-platform)
+    ((cygwin) cygwin-default-dynamic-load-libraries)
+    (else `(,(string-append "lib" install-lib-name)))))
+
+
+;;; Library registration (used for code loading):
+
+(define (##sys#provide id)
+  (##core#inline_allocate ("C_a_i_provide" 8) id))
+
+(define (##sys#provided? id)
+  (##core#inline "C_i_providedp" id))
+
+
 ;;; Pathname helpers:
 
 (define path-separators
@@ -1254,73 +1324,6 @@
               #f
               'dynamic)))))
 
-
-;;; Environments:
-
-(define interaction-environment
-  (let ((e (##sys#make-structure 'environment 'interaction-environment #f #f)))
-    (lambda () e)))
-
-(define-record-printer (environment e p)
-  (##sys#print "#<environment " #f p)
-  (##sys#print (##sys#slot e 1) #f p)
-  (##sys#write-char-0 #\> p))
-
-(define scheme-report-environment)
-(define null-environment)
-
-(let* ((r4s (module-environment 'r4rs 'scheme-report-environment/4))
-       (r5s (module-environment 'scheme 'scheme-report-environment/5))
-       (r4n (module-environment 'r4rs-null 'null-environment/4))
-       (r5n (module-environment 'r5rs-null 'null-environment/5)))
-  (define (strip se)
-    (foldr
-     (lambda (s r)
-       (if (memq (car s)
-                '(import
-                  import-syntax
-                  import-for-syntax
-                  import-syntax-for-syntax
-                  require-extension
-                  require-extension-for-syntax
-                  require-library
-                  begin-for-syntax
-                  export
-                  module
-                  cond-expand
-                  syntax
-                  reexport))
-          r
-          (cons s r)))
-     '()
-     se))
-  ;; Strip non-std syntax from SEs
-  (##sys#setslot r4s 2 (strip (##sys#slot r4s 2)))
-  (##sys#setslot r4n 2 (strip (##sys#slot r4n 2)))
-  (##sys#setslot r5s 2 (strip (##sys#slot r5s 2)))
-  (##sys#setslot r5n 2 (strip (##sys#slot r5n 2)))
-  (set! scheme-report-environment
-    (lambda (n)
-      (##sys#check-fixnum n 'scheme-report-environment)
-      (case n
-       ((4) r4s)
-       ((5) r5s)
-       (else 
-        (##sys#error 
-         'scheme-report-environment
-         "unsupported scheme report environment version" n)) ) ) )
-  (set! null-environment
-    (lambda (n)
-      (##sys#check-fixnum n 'null-environment)
-      (case n
-       ((4) r4n)
-       ((5) r5n)
-       (else
-        (##sys#error
-         'null-environment 
-         "unsupported null environment version" n) )))))
-
-
 ;;; Find included file:
 
 (define ##sys#include-pathnames (list (chicken-home)))
@@ -1362,19 +1365,20 @@
                                        fname) ) )
                  (else (loop (##sys#slot paths 1))) ) ) ) ) ) )
 
-) ; eval module
+) ; chicken.load
 
-(import chicken chicken.eval)
 
 ;;; Simple invocation API:
 
+(import chicken chicken.eval chicken.load)
+
 (declare
   (hide last-error run-safe store-result store-string
        CHICKEN_yield CHICKEN_eval CHICKEN_eval_string
        CHICKEN_eval_to_string CHICKEN_eval_string_to_string
        CHICKEN_apply CHICKEN_apply_to_string CHICKEN_eval_apply
        CHICKEN_read CHICKEN_load CHICKEN_get_error_message))
-       
+
 (define last-error #f)
 
 (define (run-safe thunk)
diff --git a/modules.scm b/modules.scm
index 292dedaf..fa4a33bb 100644
--- a/modules.scm
+++ b/modules.scm
@@ -42,6 +42,7 @@
 (import chicken.expand
        chicken.internal
        chicken.keyword
+       chicken.load
        chicken.platform)
 
 (define-alias dd d)
@@ -569,7 +570,7 @@
                       (##sys#macro-environment
                        (##sys#meta-macro-environment)))
          (fluid-let ((##sys#notices-enabled #f)) ; to avoid re-import warnings
-           (chicken.eval#load il)
+           (load il)
            (set! mod (##sys#find-module mname 'import))))))
     mod))
 
@@ -916,7 +917,7 @@
             call-with-current-continuation input-port? output-port?
             current-input-port current-output-port call-with-input-file
             call-with-output-file open-input-file open-output-file
-            close-input-port close-output-port (load . chicken.eval#load)
+            close-input-port close-output-port (load . chicken.load#load)
             read read-char peek-char write display write-char newline 
eof-object?
             with-input-from-file with-output-to-file (eval . chicken.eval#eval)
             char-ready? imag-part real-part make-rectangular make-polar angle
diff --git a/rules.make b/rules.make
index 7557b078..c1bdda32 100644
--- a/rules.make
+++ b/rules.make
@@ -512,6 +512,7 @@ $(eval $(call 
declare-emitted-import-lib-dependency,chicken.gc,library))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.keyword,library))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.platform,library))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.time,library))
+$(eval $(call declare-emitted-import-lib-dependency,chicken.load,eval))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.format,extras))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.io,extras))
 $(eval $(call 
declare-emitted-import-lib-dependency,chicken.pretty-print,extras))
@@ -539,6 +540,7 @@ batch-driver.c: batch-driver.scm mini-srfi-1.scm \
                chicken.format.import.scm \
                chicken.gc.import.scm \
                chicken.internal.import.scm \
+               chicken.load.import.scm \
                chicken.pathname.import.scm \
                chicken.platform.import.scm \
                chicken.pretty-print.import.scm \
@@ -568,6 +570,7 @@ core.c: core.scm mini-srfi-1.scm \
                chicken.format.import.scm \
                chicken.io.import.scm \
                chicken.keyword.import.scm \
+               chicken.load.import.scm \
                chicken.pretty-print.import.scm
 optimizer.c: optimizer.scm mini-srfi-1.scm \
                chicken.compiler.support.import.scm \
@@ -617,10 +620,10 @@ modules.c: modules.scm \
                chicken.expand.import.scm \
                chicken.internal.import.scm \
                chicken.keyword.import.scm \
+               chicken.load.import.scm \
                chicken.platform.import.scm
 csc.c: csc.scm \
                chicken.data-structures.import.scm \
-               chicken.eval.import.scm \
                chicken.format.import.scm \
                chicken.pathname.import.scm \
                chicken.posix.import.scm
@@ -632,6 +635,7 @@ csi.c: csi.scm \
                chicken.internal.import.scm \
                chicken.io.import.scm \
                chicken.keyword.import.scm \
+               chicken.load.import.scm \
                chicken.platform.import.scm \
                chicken.port.import.scm \
                chicken.pretty-print.import.scm \
@@ -666,7 +670,6 @@ chicken-install.c: chicken-install.scm \
                chicken.format.import.scm \
                chicken.io.import.scm \
                chicken.irregex.import.scm \
-               chicken.platform.import.scm \
                chicken.pathname.import.scm \
                chicken.port.import.scm \
                chicken.posix.import.scm \
@@ -766,7 +769,9 @@ library.c: $(SRCDIR)library.scm $(SRCDIR)banner.scm 
$(SRCDIR)common-declarations
 internal.c: $(SRCDIR)internal.scm $(SRCDIR)mini-srfi-1.scm
        $(bootstrap-lib) -emit-import-library chicken.internal
 eval.c: $(SRCDIR)eval.scm $(SRCDIR)common-declarations.scm 
$(SRCDIR)mini-srfi-1.scm $(SRCDIR)egg-information.scm
-       $(bootstrap-lib) -emit-import-library chicken.eval
+       $(bootstrap-lib) \
+       -emit-import-library chicken.eval \
+       -emit-import-library chicken.load
 read-syntax.c: $(SRCDIR)read-syntax.scm $(SRCDIR)common-declarations.scm
        $(bootstrap-lib) -emit-import-library chicken.read-syntax
 repl.c: $(SRCDIR)repl.scm $(SRCDIR)common-declarations.scm
diff --git a/types.db b/types.db
index 2894975b..13b911bd 100644
--- a/types.db
+++ b/types.db
@@ -852,14 +852,6 @@
 ;; eval
 
 (chicken.eval#eval (procedure chicken.eval#eval (* #!optional (struct 
environment)) . *))
-(chicken.eval#load (procedure chicken.eval#load (string #!optional (procedure 
(*) . *)) undefined))
-(chicken.eval#load-extension (#(procedure #:enforce) 
chicken.eval#load-extension (symbol) undefined))
-(chicken.eval#load-library (#(procedure #:enforce) chicken.eval#load-library 
(symbol #!optional string) undefined))
-(chicken.eval#load-relative (#(procedure #:enforce) chicken.eval#load-relative 
(string #!optional (procedure (*) . *)) undefined))
-(chicken.eval#load-verbose (#(procedure #:clean) chicken.eval#load-verbose 
(#!optional *) *))
-(chicken.eval#provide (#(procedure #:clean #:enforce) chicken.eval#provide 
(#!rest symbol) undefined))
-(chicken.eval#provided? (#(procedure #:clean #:enforce) chicken.eval#provided? 
(#!rest symbol) boolean))
-(chicken.eval#require (#(procedure #:clean) chicken.eval#require (#!rest 
symbol) undefined))
 
 (chicken.eval#scheme-report-environment
  (#(procedure #:clean #:enforce) chicken.eval#scheme-report-environment 
(#!optional fixnum) (struct environment)))
@@ -1212,6 +1204,17 @@
 (chicken.keyword#keyword? (#(procedure #:pure) chicken.keyword#keyword? (*) 
boolean))
 (chicken.keyword#string->keyword (#(procedure #:clean #:enforce) 
chicken.keyword#string->keyword (string) symbol))
 
+;; load
+
+(chicken.load#load (procedure chicken.load#load (string #!optional (procedure 
(*) . *)) undefined))
+(chicken.load#load-extension (#(procedure #:enforce) 
chicken.load#load-extension (symbol) undefined))
+(chicken.load#load-library (#(procedure #:enforce) chicken.load#load-library 
(symbol #!optional string) undefined))
+(chicken.load#load-relative (#(procedure #:enforce) chicken.load#load-relative 
(string #!optional (procedure (*) . *)) undefined))
+(chicken.load#load-verbose (#(procedure #:clean) chicken.load#load-verbose 
(#!optional *) *))
+(chicken.load#provide (#(procedure #:clean #:enforce) chicken.load#provide 
(#!rest symbol) undefined))
+(chicken.load#provided? (#(procedure #:clean #:enforce) chicken.load#provided? 
(#!rest symbol) boolean))
+(chicken.load#require (#(procedure #:clean) chicken.load#require (#!rest 
symbol) undefined))
+
 ;; platform
 
 (chicken.platform#build-platform (#(procedure #:pure) 
chicken.platform#build-platform () symbol))
-- 
2.11.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]