
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. Ganesh