On 2008 Sep 6, at 18:25, Ashley Yakeley wrote:
1. Results from initialisers cannot be GC'd even if they become
otherwise unreachable, because the dynamic loader might re-load the
module (and then we'd need those original results).
2. If the dynamic loader loads an endless stream of different modules
containing initialisers, memory will thus leak.
I think if the issue is this vs. not being able to guarantee any once-
only semantics, i consider the former necessary overhead for proper
program behavior. And that, given that there exists extra-program
global state that one might want to access, once-only initialization
is a necessity. (Whoever it was who jumped off this point to say
Haskell should exit the real world misses the point: it's not even
all that useful from a theoretical standpoint if it's not allowed to
interact with anything outside itself, and stdin/stdout tend to
require once-only initialization. You can't really hide from it.)
--
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
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe