Refilled doc.txt to a width of 65 characters

svn: r3302
This commit is contained in:
Noel Welsh 2006-06-09 15:45:51 +00:00
parent a67ca1489b
commit 137ca08979

View File

@ -1,79 +1,80 @@
PLT Scheme support for _SRFIs_ (`surfies') PLT Scheme support for _SRFIs_ (`surfies')
========================================== ==========================================
This is an implementation of (some) SRFIs to the PLT Scheme system. This is an implementation of (some) SRFIs to the PLT Scheme
It is intended for PLT Scheme v200+. system. It is intended for PLT Scheme v200+.
If you need more information on SRFI, please visit: If you need more information on SRFI, please visit:
http://srfi.schemers.org/ http://srfi.schemers.org/
Loading Loading
------- -------
To load a SRFI with name conflicts (currently SRFIs 1, 19, 43, 45, To load a SRFI with name conflicts (currently SRFIs 1, 19, 43,
48 and 69) in a module, please see the note below. 45, 48 and 69) in a module, please see the note below.
To load a SRFI, use the following form: To load a SRFI, use the following form:
(require (lib "N.ss" "srfi")) (require (lib "N.ss" "srfi"))
if you know the number of the SRFI you want to load. This is the if you know the number of the SRFI you want to load. This is the
preferred method, or this one: preferred method, or this one:
(require (lib "NAME.ss" "srfi" "N")) (require (lib "NAME.ss" "srfi" "N"))
if you know the `informative name' of the SRFI. if you know the `informative name' of the SRFI.
N, is a number corresponding to the sub-collection that holds a N, is a number corresponding to the sub-collection that holds a
particular SRFI, and NAME is a more descriptive name we assigned to particular SRFI, and NAME is a more descriptive name we assigned
the main file in which the SRFI is defined. For instance, to load to the main file in which the SRFI is defined. For instance, to
SRFI-34 you have to do either one of: load SRFI-34 you have to do either one of:
(require (lib "34.ss" "srfi")) (require (lib "34.ss" "srfi"))
or, or,
(require (lib "exception.ss" "srfi" "34")) (require (lib "exception.ss" "srfi" "34"))
NOTE on SRFIs with name conflicts NOTE on SRFIs with name conflicts
--------------------------------- ---------------------------------
Certain SRFIs (currently SRFIs 1, 13, 19, 43, 45, 48 and 69) provide Certain SRFIs (currently SRFIs 1, 13, 19, 43, 45, 48 and 69)
names which conflict with names provided by the 'mzscheme' language. provide names which conflict with names provided by the
Attempting to require one of these SRFIs in a module written in the 'mzscheme' language. Attempting to require one of these SRFIs in
'mzscheme' language will result in an error. a module written in the 'mzscheme' language will result in an
error.
To address this problem, the PLT implementations of these SRFIs To address this problem, the PLT implementations of these SRFIs
provide a different module which renames the problematic exports to provide a different module which renames the problematic exports
avoid these conflicts. For SRFI 1, this library is called list.ss, to avoid these conflicts. For SRFI 1, this library is called
and should be required like this: list.ss, and should be required like this:
(require (lib "list.ss" "srfi" "1")) (require (lib "list.ss" "srfi" "1"))
which supplies the colliding names with a prefix of 's:' which supplies the colliding names with a prefix of 's:'
(e.g. "s:map", "s:reverse!") and is therefore suitable for requires in (e.g. "s:map", "s:reverse!") and is therefore suitable for
a module. requires in a module.
For SRFI 19, this library is called time.ss, and should be required For SRFI 19, this library is called time.ss, and should be
like this: required like this:
(require (lib "time.ss" "srfi" "19")) (require (lib "time.ss" "srfi" "19"))
which supplies the colliding names with a prefix of 'srfi:' which supplies the colliding names with a prefix of 'srfi:'
(e.g. "srfi:date?", "srfi:date-second") and is therefore suitable for (e.g. "srfi:date?", "srfi:date-second") and is therefore suitable
requires in a module. for requires in a module.
Supported SRFIs Supported SRFIs
--------------- ---------------
Here is a table that has an SRFI, file name, and the sub-collection Here is a table that has an SRFI, file name, and the
number of the already ported SRFIs: sub-collection number of the already ported SRFIs:
SRFI File name Sub-collection SRFI File name Sub-collection
======== =========== ================ ======== =========== ================
SRFI-1 list.ss 1 SRFI-1 list.ss 1
SRFI-2 and-let.ss 2 SRFI-2 and-let.ss 2
SRFI-4(*1) 4.ss SRFI-4(*1) 4.ss
SRFI-5 let.ss 5 SRFI-5 let.ss 5
@ -100,7 +101,7 @@ number of the already ported SRFIs:
SRFI-38(+) 38.ss SRFI-38(+) 38.ss
SRFI-39(+) 39.ss SRFI-39(+) 39.ss
SRFI-40 stream.ss 40 SRFI-40 stream.ss 40
SRFI-42 comprehensions.ss 42 SRFI-42 comprehensions.ss 42
SRFI-43 vector-lib.ss 43 SRFI-43 vector-lib.ss 43
SRFI-45(*3) lazy.ss 45 SRFI-45(*3) lazy.ss 45
SRFI-48 format.ss 48 SRFI-48 format.ss 48
@ -120,17 +121,18 @@ Notes:
`-------------------- `--------------------
,-------------------- ,--------------------
| *1 The functionality is all part of mzscheme available via | *1 The functionality is all part of mzscheme available via (lib
| (lib "foreign.ss"), the only missing part is the i/o syntax. | "foreign.ss"), the only missing part is the i/o syntax.
`-------------------- `--------------------
,-------------------- ,--------------------
| *2 The time module does not export its time structure (you have to | *2 The time module does not export its time structure (you have
| use the time-* procedures.) It renames all the date-* accessors to | to use the time-* procedures.) It renames all the date-*
| tm:date-* so that you won't get errors when including this code in | accessors to tm:date-* so that you won't get errors when
| other modules. Care most be taken NOT to confuse the internal date | including this code in other modules. Care most be taken NOT
| structure with the PLT Scheme one, they are not the same, and all | to confuse the internal date structure with the PLT Scheme one,
| procedures from this library expect the former. | they are not the same, and all procedures from this library
| expect the former.
`-------------------- `--------------------
,-------------------- ,--------------------
@ -145,14 +147,14 @@ added to this library, please let us know:
PLT Scheme <plt-scheme@fast.cs.utah.edu> PLT Scheme <plt-scheme@fast.cs.utah.edu>
+ the Schematics-people @ sourceforge.net. We are NOT members of the + the Schematics-people @ sourceforge.net. We are NOT members
PLT group, the Schematics project is devoted to create code for PLT of the PLT group, the Schematics project is devoted to create
Scheme ONLY, though. This SRFI port effort will try to be developed, code for PLT Scheme ONLY, though. This SRFI port effort will
tested, and debugged @ sourceforge, and periodically inserted to PLT try to be developed, tested, and debugged @ sourceforge, and
Scheme. Please, do join us!: periodically inserted to PLT Scheme. Please, do join us!:
http://schematics.sourceforge.net http://schematics.sourceforge.net
(we don't have separate mailing lists @ sourceforge. We have a couple (we don't have separate mailing lists @ sourceforge. We have a
of forums there, though. Of course, you can send us mail directly, couple of forums there, though. Of course, you can send us mail
or... well, we read the PLT Scheme mailing list.) directly, or... well, we read the PLT Scheme mailing list.)