cvs commit: hugs98/src unitable.c HsFFI.h builtin.c char.c char.h storage.c storage.h hugs98/src/unix mkunitable configure.in hugs98/libraries/Hugs Unicode.hs
ross 2003/11/13 17:55:18 PST Modified files: src HsFFI.h builtin.c char.c char.h storage.c storage.h src/unix configure.in Added files: src unitable.c src/unix mkunitable libraries/Hugs Unicode.hs Log: Start adding basic Unicode support, due to Dimitry Golubovsky <dimitry@golubovsky.org>. Add a configure option --enable-unicode-chars, setting the preprocessor symbol UNICODE_CHARS, which expands the Haskell Char type to Unicode. If it's not set, all is as before (except for the value of HS_CHAR_MAX -- maybe it should be configuration-dependent). If it is set: * maxBound::Char is a lot bigger, numeric character literals can be just as big, and the Char functions behave as specified in the Report on the full range of Unicode characters. * Chars larger than a certain threshold are stored as box cells. * a new file unitable.c (approx 25k of data) is included in char.c. The file was automatically generated from a UnicodeData file by unix/mkunitable * Unicode tables are used for the Char primitives. * there are new primitives, accessed via Hugs.Unicode: primitive primUniGenCat :: Char -> Int primitive toTitle :: Char -> Char These go beyond basic support, but are trivial to provide with the new structures. Any other Unicode properties can go in library modules and would need no special Hugs support. Not yet, but coming later: character escapes in string literals, Unicode I/O. Revision Changes Path 1.15 +1 -1 hugs98/src/HsFFI.h 1.71 +15 -2 hugs98/src/builtin.c 1.2 +148 -0 hugs98/src/char.c 1.2 +21 -3 hugs98/src/char.h 1.81 +33 -2 hugs98/src/storage.c 1.62 +34 -4 hugs98/src/storage.h 1.96 +6 -0 hugs98/src/unix/configure.in
participants (1)
-
ross@glass.cse.ogi.edu