Changes between Version 4 and Version 5 of CharsetSupport


Ignore:
Timestamp:
04/05/10 19:01:33 (11 years ago)
Author:
ehuelsmann
Comment:

Elaborate more on the spec bits which touch characters with case

Legend:

Unmodified
Added
Removed
Modified
  • CharsetSupport

    v4 v5  
    2727
    2828The ESZET violates the CLHS requirement that case conversion takes exactly one character as input and produces exactly one character on output: it produces 2 characters. The dotless i violates the CLHS requirement that characters are associated in pairs; after all, there are 3 characters in the conversion set of the dotless i.
     29
     30== Case related functions ==
     31
     32CLHS defines the following case conversion functions:
     33
     34 * CHAR-DOWNCASE
     35 * CHAR-UPCASE
     36 * (N)STRING-DOWNCASE
     37 * (N)STRING-UPCASE
     38 * (N)STRING-CAPITALIZE
     39
     40Where the up/downcasing string functions are defined as the repetitive application of the character case conversion functions. Of course, given the definition characters with case, these function definitions make sense.
     41
     42Next to case conversion functions, the spec defines case insensitive character and string comparisons:
     43
     44 * CHAR(-NOT)-EQUAL
     45 * CHAR(-NOT)-LESSP
     46 * CHAR(-NOT)-GREATERP
     47 * STRING(-NOT)-EQUAL
     48 * STRING(-NOT)-LESSP
     49 * STRING(-NOT)-GREATERP
     50
     51
     52== Case conversion in the reader ==
     53
     54The [http://www.lispworks.com/documentation/HyperSpec/Body/02_b.htm reader algorithm definition in the spec] amounts to the same behaviour of the respective string case conversion routine. This conversion rule applies to 'constituent characters' which are part of a symbol name.
     55