Node:Loading, Next:, Previous:Fly Evaluation, Up:Read/Load/Eval



28.4 Loading Scheme Code from File

load filename Scheme Procedure
Load filename and evaluate its contents in the top-level environment. The load paths are not searched. If the variable %load-hook is defined, it should be bound to a procedure that will be called before any code is loaded. See documentation for %load-hook later in this section.

load-from-path filename Scheme Procedure
Similar to load, but searches for filename in the load paths.

primitive-load filename Scheme Procedure
scm_primitive_load (filename) C Function
Load the file named filename and evaluate its contents in the top-level environment. The load paths are not searched; filename must either be a full pathname or be a pathname relative to the current directory. If the variable %load-hook is defined, it should be bound to a procedure that will be called before any code is loaded. See the documentation for %load-hook later in this section.

primitive-load-path filename Scheme Procedure
scm_primitive_load_path (filename) C Function
Search %load-path for the file named filename and load it into the top-level environment. If filename is a relative pathname and is not found in the list of search paths, an error is signalled.

%search-load-path filename Scheme Procedure
scm_sys_search_load_path (filename) C Function
Search %load-path for the file named filename, which must be readable by the current user. If filename is found in the list of paths to search or is an absolute pathname, return its full pathname. Otherwise, return #f. Filenames may have any of the optional extensions in the %load-extensions list; %search-load-path will try each extension automatically.

%load-hook Variable
A procedure to be run whenever primitive-load is called. If this procedure is defined, it will be called with the filename argument that was passed to primitive-load.
(define %load-hook (lambda (file)
                     (display "Loading ")
                     (display file)
                     (write-line "...."))) => undefined
(load-from-path "foo.scm")
-| Loading /usr/local/share/guile/site/foo.scm....

current-load-port Scheme Procedure
scm_current_load_port () C Function
Return the current-load-port. The load port is used internally by primitive-load.

%load-extensions Variable
A list of default file extensions for files containing Scheme code. %search-load-path tries each of these extensions when looking for a file to load. By default, %load-extensions is bound to the list ("" ".scm").