[Haskell-cafe] Re: [Haskell] Top Level <-

John Meacham john at repetae.net
Tue Aug 26 20:39:21 EDT 2008

On Tue, Aug 26, 2008 at 08:07:24AM +0100, Adrian Hey wrote:
> But from a top level aThing <- someACIO point of view, if we're going to
> say that it doesn't matter if someACIO is executed before main is
> entered (possibly even at compile time) or on demand, then we clearly
> don't want to observe any difference between the latter case and the
> former (if aThing becomes garbage without ever being demanded).
> Maybe it would be safest to just say anything with a finaliser can't be
> created at the top level. We can always define an appropriate top level
> "get" IO action using runOnce or whatever.

If the finalizer is also in the weaker form of ACIO (ACIO under the no
more references exist to its argument presumption, maybe called
'linearity condition' or something?), then it shouldn't matter at all. I
can't think of any finalizers that don't obey this property that wern't
problematic under the old model to begin with.


John Meacham - ⑆repetae.net⑆john⑈

More information about the Haskell-Cafe mailing list