[Haskell-cafe] Re: Top Level <-
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Sat Sep 6 18:31:03 EDT 2008
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] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Haskell-Cafe
mailing list