Hopefully final changes to SRFI-13
shivers@xxxxxx 30 Apr 2000 21:57 UTC
I have incorporated the results of the last several months of discussion
on the SRFI-13 mailing list into a new draft of the SRFI. The new draft will
appear at
http://srfi.schemers.org/srfi-13/srfi-13.html
I assume Mike will email the mailing list when he has it installed there.
Here are the principle changes to the previous draft:
- SRFI-13 is now completely backwards-compatible with R5RS.
- STRING-UNFOLD & STRING-UNFOLD-RIGHT have been slightly generalised.
- I have added STRING-HASH and STRING-HASH-CI.
- I have carefully pinned down what these string operators do in a super-ASCII
world, especially in Latin-1 & Unicode. A short summary of the high-level
design decisions:
+ All routines are locale- and context-insensitive.
Hence hash-tables, symbol tables, file-name directories, etc. won't
have their invariants corrupted by a shift in locale.
Locale- and context-sensitive "text" operations are important, and should
be treated in another SRFI.
+ Case-mapping is restricted to 1-1 maps, and must be consistent with
the Unicode 1-1 case maps. Same rationale as above.
+ Case-insensitive operations are carried out by case-folding strings with
(char-downcase (char-upcase c))
where these two operations are assumed to be consistent with the
case-mapping definitions above.
+ String comparison is done code-point by code-point.
Same rationale as above.
I have cleaned up the text and expanded the rationale section.
Note that I have also brought the companion SRFI-14 (character sets) into
similar alignment with modern, super-ASCII considerations. You can check
out the latest draft at
http://srfi.schemers.org/srfi-14/srfi-14.txt
A description of the super-ASCII issues in the SRFI-14 context and a summary
of the changes can be seen at
http://srfi.schemers.org/srfi-14/mail-archive/msg00002.html
Dealing with super-ASCII issues has been a bear; I hope that the new design is
acceptable. I am grateful for the help and advice I got on these issues. If
there are no glaring problems, we can move forward and declare this SRFI
final.
Comments welcome.
-Olin