[Haskell] Re: Why is getArgs in the IO monad?

Tomasz Zielonka tomasz.zielonka at gmail.com
Tue Jan 18 03:49:56 EST 2005


On Tue, Jan 18, 2005 at 08:12:42AM -0800, Ben Rudiak-Gould wrote:
> Even if you want to disallow explicit recompilation (and how do you define
> "compilation" denotationally?), an automatic rollout of a new version of Hugs
> could lead to successive invocations of a script using different values of
> (maxBound :: Char) (or, more plausibly, some constant defined in the library)
> without user intervention. How is this different from any other environmental
> change, such as a change in the program arguments?

Big difference. The change in program arguments is inevitable, or at least
expected. The change in Haskell implementation can be avoided, by compiling
the program or simply by not switching to a newer version.

The more there are pure values that change from execution to execution,
the more often will smart libraries like WASH/CGI break in mysterious
ways. Please, no!

Best regards,
Tomasz


More information about the Haskell mailing list