[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