cvs commit: hugs98/lib Prelude.hs hugs98/lib/exts Foreign.hs Int.hs Word.hs hugs98/src builtin.c connect.h ffi.c iomonad.c storage.c storage.h type.c

Alastair Reid reid@glass.cse.ogi.edu
Sat, 18 May 2002 09:22:11 -0700


reid        2002/05/18 09:22:11 PDT

  Modified files:
    lib                  Prelude.hs 
    lib/exts             Foreign.hs Int.hs Word.hs 
    src                  builtin.c connect.h ffi.c iomonad.c 
                         storage.c storage.h type.c 
  Log:
  Added many of the ffi types (FunPtr, Ptr, etc) to Hugs and wired the
  {Int,Word}{8,16,32,64} types more firmly into Prelude/compiler
  
  We still lack ForeignPtr. What is trivial for GHC with its threads and
  all the rest of it is a scary proposition for the rest of us.
  (Specifically, I don't know if it is safe to start evaluating
  finalizers at all places that the GC might be invoked.  Maybe the eval
  function could be changed to consult a list of finalizers now and then
  - that would be somewhat gross but safe.)
  
  The 64 bit arithmetic types lack any operations.
  
  Next step: update the code generation part of ffi, implement the
  currently unsupported foreign import decl and see if I can port the
  foreign export dynamic (or whatever it is called) sparc code from GHCi
  into Hugs.
  
  Revision  Changes    Path
  1.23      +17 -3     hugs98/lib/Prelude.hs
  1.3       +5 -3      hugs98/lib/exts/Foreign.hs
  1.3       +10 -23    hugs98/lib/exts/Int.hs
  1.6       +6 -17     hugs98/lib/exts/Word.hs
  1.22      +89 -8     hugs98/src/builtin.c
  1.35      +12 -2     hugs98/src/connect.h
  1.5       +8 -2      hugs98/src/ffi.c
  1.25      +40 -4     hugs98/src/iomonad.c
  1.40      +3 -3      hugs98/src/storage.c
  1.36      +4 -2      hugs98/src/storage.h
  1.47      +22 -2     hugs98/src/type.c