On Sun, 31 Aug 2008, Brandon S. Allbery KF8NH wrote:

On 2008 Aug 31, at 10:20, Ganesh Sittampalam wrote:

I'm not sure of precisely what you mean here, but stdin, stdout and stderr are things provided by the OS to a process. That's what defines them as having process scope, not something the Haskell language or RTS does.

But their representations in Haskell must have the same scope and are therefore de facto global variables.

Yep, but this is not Haskell providing a way to make global variables, it is just providing an interface to ones that already exist. The point is that the RTS can't provide (process-scope) global variables of its own invention, because it can't guarantee to be running at the top-level of a process, which it needs to be in order to control their construction.

Cheers,

Ganesh
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to