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