> 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 [EMAIL PROTECTED] Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/ _______________________________________________ FFI mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/ffi