13 Nov
2000
13 Nov
'00
9:17 a.m.
At 2000-11-13 00:58, Simon Peyton-Jones wrote:
| C++ provides a convenient mechanism for cleaning up stuff, the | destructor, which is guaranteed to get called when an object | passes out | of scope (or something).
Haskell doesn't but GHC has an extension (finalisers) that does. There's a discussion of the issues in our paper about weak pointers and finalisers http://research.microsoft.com/~simonpj/#weak
I assume you mean finalisers for ordinary Haskell values after they're no longer referenced. That's actually a separate issue, I'm more interested in doing finalisation in Haskell's existing monadic imperative model, something that shouldn't need any runtime extensions. -- Ashley Yakeley, Seattle WA