sunterlib/s48/module-system
Martin Gasbichler 0017aebb40 Some documentation for rt-modules and overlapping-imports? 2003-02-12 10:13:59 +00:00
..
README Some documentation for rt-modules and overlapping-imports? 2003-02-12 10:13:59 +00:00
interfaces.scm
overlapping-imports.scm
packages.scm
rt-module.scm

README

The structure OVERLAPPING-IMPORTS extends the module system with a
facility to check for duplicates entries within the imported names of
a module. After loading the package you can add the form

(optimize overlapping-imports?)

to the definition of the structure you want to monitor, e.g.

config> (define-structure foo (export f)
		(open scheme srfi-1) 
		(begin (define f 23)) 
		(optimize overlapping-imports?))
; no values returned
config> ,load-package foo

Warning: Structure has undefined exports
         #{Structure 153 srfi-1}
         (for-each)

Warning: package has overlapping imports
         #{Package 181 foo}
         (assoc (srfi-1 scheme))
         (for-each (srfi-1 scheme))
         (member (srfi-1 scheme))
         (map (srfi-1 scheme))



The structure RT-MODULES provides run-time access to the Scheme 48
module system.


(load-config-file file-name) --> unspecific

Loads config file containing structure definition. This is the same as

,config ,load file-name

in the REPL.


(reify-structure structure-name) --> #{Rt-stucture surflet} 

Creates a rt-structure object representing the structure which name
STRUCUTURE-NAME (a symbol).



(load-structure rt-structure) --> unspecific

Ensures that the definition of the unterlying structure has been
loaded. This is the same as

,load-package structure

in the REPL.



(rt-structure-binding surflet name) --> value

Gets the binding for NAME (a symbol) from a rt-structure.


(lambda-interface interface-name body ...) --> value of body     SYNTAX

A variation of lambda which uses the exported names from interface
INTERFACE-NAME as the names of the parameters.


(with-names-from-rt-structure rt-structure interface body ...) --> value of body    SYNTAX

Evaluate body with the names from INTERFACE bound to the bindings
provided by RT-STRUCTURE.