Kent M Pitman <pitman@world.std.com> wrote:
+---------------
| (Remember that in Scheme you only have one package and so all information
| is packaged lexically. Unlike in CL, you don't have X-WINDOWS:OPEN and
| BOOK:OPEN and CL:OPEN (for files), you instead start with a bare
| environemnt that maybe has just OPEN (for files) and then you access
| some environment containing X-windows and a hypothetical BOOK module
| and you say "I think in my locale I'll map X-OPEN to X-Windows' OPEN
| function and BOOK-OPEN to my BOOK package's OPEN function. And, gee,
| I think I'll eliminate the mapping for OPEN, replacing it with a
| FILE-OPEN mapping, so I don't get myself confused about what the
| unqualified OPEN is doing.")
+---------------
The PLT Scheme guys addressed a lot of this with their notion of namespaces
<URL:http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-8.html> and
then the whole units/signatures system and the module system which replaced
it <URL:http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-5.html>.
(Think of a DEFPACKAGE that contains almost-top-level definitions of
functions and variables, plus the usual imports & exports stuff.)
But none of that is standardized, of course...
-Rob
-----
Rob Warnock, PP-ASEL-IA <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607