simonpj at microsoft.com
Tue Nov 28 08:25:31 EST 2000
Simon and I noticed this morning that ForeignObj should
really be parameterised. The current type of newForeignObj is
newForeignObj :: Ptr a -> IO () -> IO ForeignObj
This immediately loses the type information on the Ptr!
Shouldn't it be
newForeignObj :: Ptr a -> IO () -> IO (ForeignObj a)
Or maybe we should shorten it to (FPtr a)? ("F" for "finalised".)
withFPtr :: FPtr a -> (Ptr a -> IO b) -> IO b
It's bizarre to have
withForeignObj :: ForeignObj -> (Ptr a -> IO b) -> IO b
What think you?
More information about the FFI