Alastair Reid <alastair@reid-consulting-uk.ltd.uk> 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? Cheers, Manuel