[Haskell-cafe] Re: Top Level <-
ganesh at earth.li
Sun Sep 7 12:10:40 EDT 2008
On Sun, 7 Sep 2008, Brandon S. Allbery KF8NH wrote:
>> plug-in that is reloaded in different forms again and again. And I see
>> module K which does something I want, so I use it. It so happens that K
>> uses M, which has a <-. If I knew that using K in my plug-in would cause a
>> memory leak, I would avoid doing so; but since the whole point of <- is to
>> avoid making the need for some state visible in the API.
> False, as it's in ACIO and therefore advertises that it will "leak
> memory" in the name of correct behavior.
I thought ACIO was a restriction on the thing on the right hand side of
the <-? How does the module itself advertise its use of this
(transitively) to users?
> Since you consider memory leaks to be worse than correct behavior,
Not leaking memory is *part* of correct behaviour. If <- is to be created
at all, it should be created with restrictions that make it capable of
guaranteeing correct behaviour.
> (But you might want to go look at that list of modules which do global
> variable initialization and therefore aren't entirely trustworthy unless
> something like ACIO exists.)
We should fix them (and their interface) so this doesn't happen, rather
than standardising something broken.
More information about the Haskell-Cafe