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

Re: Namespace management & SRFI-0



OK, I think I've got an idea of your of your idea.  Here are some comments
describing my implementation: 

;;;  In RScheme, there are two ways for a feature to be recognized
;;;  as implemented.  First, the feature may be globally implemented.
;;;  RScheme provides feature ids for its version tree, for example,
;;;  release 0.7.3.1 implements `RScheme-0.7*', `RScheme-0.7.3*' and 
;;;  `RScheme-0.7.3.1'.  Another example is SRFI-0 itself.  If there
;;;  were a SRFI for case sensitive identifiers, that would also be
;;;  globally implemented.
;;;
;;;  The other way in which a feature might be recognized as
;;;  implemented is to have imported a module which implements the
;;;  feature.  This supports locally selectable features as may be
;;;  represented by variable libraries such as SRFI-1.  To load
;;;  a portable program that prefers to have such a SRFI available,
;;;  simply specify the RScheme module which implements the SRFI
;;;  on the command line, like so:
;;;
;;;     rs +srfi.1 portable-listy-program.scm
;;;
;;;  the portable-listy-program will find (if-implements SRFI-1 t)
;;;  expands to t.

Does that match fairly well a superset of your idea as to what a SRFI-0
compliant implementation should do?

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