14 Oct
2002
14 Oct
'02
11:23 p.m.
I guess the Hugs documentation should say that using unsafePerformIO to call C which calls Haskell should be avoided.
Yes it should, if such behaviour can lead to strange crashes! Better still would be to work out exactly what constraints are required on the use of eval() from primitive operations, and make sure that all the primitives comply. Then we can be sure that Haskell finalizers will work too.
I think Haskell finalizers are different: virtually every finalizer which manipulates Haskell state will have race conditions.
This is a separate issue - which I'll wait till I've written the summary to address. Cheers, Simon