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

Reply via email to