On 2008 Sep 6, at 18:06, Ashley Yakeley wrote:
Ganesh Sittampalam 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.
That what will happen?
I have no idea what Ganesh is complaining about, but if the point of
ACIO is one-time initialization, it is pretty much required that
something will be allocated to record the fact that a given item has
been initialized (otherwise it can't guarantee the initializer runs
exactly once, after all), and therefore that is part of the base ACIO
API. So what exactly is the issue here?
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon university KF8NH
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe