[Ecls-list] Unicode and Common Lisp

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Jan 11 12:18:56 UTC 2009

[CC of a message that I posted to comp.lang.lisp]


I am slowly adding support for Unicode and external formats to ECL and
found several incompatibilities between the Unicode specification and
ANSI Common Lisp.

Most of them are related to letter cases and the fact that this is
forced to be an invertible transformation in CL and it is not in
Unicode. The version of SBCL I have solves this by only using
char-upcase/downcase on characters where the transformation is

The other place is string comparisons or "collation". Unicode demands
a normalization process before comparing, so that the placement of
different composing characters (accents, marks, etc), does not affect

Another place is newline endings, which in Unicode is not just CR or
LF, or a combination of both, while ANSI CL demands a single #\Newline

My question is what is the level of support that the different
implementations provide and whether you consider that the ANSI
specification has become obsolete in this respect and should be
probably ignored -- perhaps with a configuration flag that selects a
Unicode conformant behavior.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)

More information about the ecl-devel mailing list