On Sat, 6 Sep 2008, Brandon S. Allbery KF8NH wrote:
On 2008 Sep 6, at 11:22, Ganesh Sittampalam wrote:
On Sat, 6 Sep 2008, Brandon S. Allbery KF8NH wrote:
On 2008 Sep 6, at 6:10, Ashley Yakeley wrote:
The set of ACIO expressions exp is the "static initialisers" of M. The
RTS must note when each static initialiser is run, and cache its result
val. Let's call this cache of vals the "static results cache" of M.
When M is loaded, and a static results cache for M already exists, then
it will be used for the vals of M.
This sounds "reachable" to me, and therefore static overhead and not a
leak.
You can call it what you like, but it's still unacceptable behaviour,
particularly since clients of M will have no way of telling from its
API that it will happen.
You want run-once behavior without giving the runtime the ability to
tell that it's already been run?
I don't want run-once behaviour, other people do. I'm just trying to pin
down what it would mean.
Ganesh
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe