| 29 | |
| 30 | == Case related functions == |
| 31 | |
| 32 | CLHS 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 | |
| 40 | Where 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 | |
| 42 | Next 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 | |
| 54 | The [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 | |