Finalizers, again!

Alastair Reid alastair at
Thu Mar 6 06:17:26 EST 2003

> I have just read Hans Boehm's POPL paper on finalizers.  His
> suggestion for the use of finalizers in single-threaded systems is
> to provide a `runFinalizers' routine, instead of relying on the
> asynchronous execution that, as established, requires support for
> concurrency. 

I think there Haskell's laziness and, to a lesser extent, focus on
side-effect free evaluation, makes a significant difference to the
design landscape so what is appropriate in the languages Hans Boehm has
experience of is less suitable for Haskell.

In particular, strict imperative languages lend themselves to
operational reasoning whereas Haskell's evaluation order can baffle
even the experts and writing code with _portable_ operational
behaviour is, I think, impossible with current techniques and tools.
This is exacerbated by the Haskell report which deliberately avoids
the subject and the range of different optimizations implemented by
different compilers.

Alastair Reid                 alastair at  
Reid Consulting (UK) Limited

More information about the FFI mailing list