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

Namespace management & SRFI-0



Is it permissible for an implementation to make available the definitions
implied by a SRFI only within the body of a corresponding `if-implements'?

For example, consider SRFI-1.  If a program isn't making use of its list
facilities, need it see those variables?  What about SRFIs that have
conflicting variable definitions?

As a possible example, is the following valid:?

  (if-implements SRFI-1
    (display "your system checks out") 
    (display "you can't use this program here"))

  (define (onelist)
    (xcons '() 1))


My thinking is this:  what I would like to do is map `if-implements' to
RScheme's `with-module'.  ((with-module M B ...) provides access within
its body, B ..., to the exported definitions of the given module M.)  I am
planning on providing most SRFI implementations in the form of loadable
modules with canonical names.  This should allow users to easily download
new SRFI implementations, and propertly manage the namespace even of
conflicting SRFIs.

-- Donovan Kolbly                    (  RScheme Development Group
                                     (  d.kolbly@xxxxxxxxxxx
				     (  http://www.rscheme.org/~donovan/