Proposed change to ForeignPtr

Manuel M T Chakravarty chak at
Sun Aug 11 02:11:35 EDT 2002

Alastair Reid <alastair at> wrote,

> > 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.

SimonM, what do you think?

> I think the spec should say that it is an error or undefined
> depending on whether GHC supports reentrant finalizers or not.

IMHO, it's a nice feature to have.  I understand that the
spec can't require it, as systems without preemptive threads
can't implement it.  However, it would be a pity if the new
interfaces would mean that even systems that feature
preemptive threads can't have it.

> > 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.

I read this as you would also (= like me) be in favour of
keeping the old names.  Right?

Other opinions?


More information about the FFI mailing list