
reid 2002/08/04 16:58:39 PDT Modified files: lib Prelude.hs lib/exts Foreign.hs src connect.h iomonad.c type.c src/unix convert_libraries Added files: lib/exts ForeignPtr.hs Log: Added ForeignPtr a Deviations from spec: 1) Instead of newForeignPtr which requires preemptive concurrency to work right, we provide makeForeignPtr which does not. Given my druthers, I'd call the version Hugs provides newForeignPtr but it has a different type and it seems best to avoid gratuitious confusion for now. 2) addForeignPtrFinalizer isn't provided because I'm feeling lazy. To be honest, I don't know when you would use this function. But, if we ever find a use for it, I guess I'll implement it. ALL THIS FRESH CODE IS UNTESTED. It loads and it is based on the implementation of ForeignObj so it can't be far off but I haven't tested it so watch out. Revision Changes Path 1.28 +2 -1 hugs98/lib/Prelude.hs 1.6 +4 -2 hugs98/lib/exts/Foreign.hs 1.42 +3 -2 hugs98/src/connect.h 1.28 +30 -11 hugs98/src/iomonad.c 1.49 +7 -5 hugs98/src/type.c 1.10 +1 -1 hugs98/src/unix/convert_libraries