Proposed change to ForeignPtr

Simon Marlow simonmar at
Mon Aug 12 05:34:35 EDT 2002

> > What do you expect to happen if the finaliser calls a foreign
> > exported function?
> Good question.
> I do not expect that to work on any platform that has difficulty
> implementing newForeignPtr (because you could use it to implement
> newForeignPtr).
> I don't know if it would be likely to work on GHC.
> I think the spec should say that it is an error or undefined
> depending on whether GHC supports reentrant finalizers or not.

Yes, it will work in GHC.  makeForeignPtr is easily implemented in terms
of newForeignPtr, using a foreign import "dynamic".

> > That's a tricky one.  From the standards point of view, I am
> > actually *very* reluctant to introduce new names.  On the other
> > hand, reusing the old names will lead to a couple of unhappy emails
> > from people using the old interface again.
> But only a couple I conjecture.

Heh, I distinctly remember several complaints from *you* in the past
when things have changed in GHC!


More information about the FFI mailing list