ANN: H98 FFI Addendum 1.0, Release Candidate 13
Ross Paterson
ross at soi.city.ac.uk
Fri Oct 31 05:02:41 EST 2003
On Fri, Oct 31, 2003 at 06:45:41PM +1100, Manuel M T Chakravarty wrote:
> (1) The addition of a variant of foreign finalizers that
> take an extra environment argument that facilitates the
> emulation of closures in C. This adds two functions to
> `ForeignPtr'.
Regarding
type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ())
newForeignPtrEnv :: FinalizerEnvPtr env a ->
Ptr env -> Ptr a -> IO (ForeignPtr a)
addForeignPtrFinalizerEnv :: FinalizerEnvPtr env a ->
Ptr env -> ForeignPtr a -> IO ()
Doesn't this mean that the env must be either static storage (gaining
nothing) or dynamic storage that cannot be reclaimed (which brings us
back to where we started)?
More information about the FFI
mailing list