I do not understand the rational behind the type of, why the change from the previous definition:
newForeignPtr :: Ptr a -> FunPtr (Ptr a -> IO ()) -> IO (ForeignPtr a)
suppose I have a function
foreign import ccall fooalloc :: IO (Ptr Foo)
and
foreign import ccall foofree :: Ptr Foo -> IO ()
now how do I create a foreign pointer without either using:
foreign import ccall "wrapper" mkfoofree :: (Ptr Foo->IO())->IO (FunPtr (Ptr Foo->IO()))
or declaring
foreign import ccall "&foofree" foofree :: FunPtr(Ptr Foo->IO())
after all why should I need to import and then re-export or suppose I want foofree as a function or for
that matter suppose Foo were a simple memory alloc which could be freed from haskell, why should we be forced to wrap a haskell function to create a foreign pointer, or am I missing something ?
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus
_______________________________________________
FFI mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/ffi
- newForeignPtr m v
- Re: newForeignPtr Ross Paterson
- RE: newForeignPtr Simon Marlow
- Re: newForeignPtr Malcolm Wallace
- RE: newForeignPtr m v
- RE: newForeignPtr Simon Marlow