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 at glass.cse.ogi.edu ross at glass.cse.ogi.edu
Thu Nov 13 17:55:18 EST 2003


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 at 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


More information about the Cvs-hugs mailing list