On Friday 05 Nov 2004 1:23 pm, Marcin 'Qrczak' Kowalczyk wrote:
> Keean Schupke <[EMAIL PROTECTED]> writes:
> > Why do want global variables?
>
> Because they are more convenient than passing a state by hand.
> They increase modularity by avoiding putting the fact that
> a computation uses some global state in its type.
>
> You don't want stdin/stdout/stderr?

IMHO this thread is somewhat misnamed anyway, for 2 reasons

1- We're not talking about simple mutable variables, we're
   talking about the safe construction of arbitrary "things
   with identity" without breaking referential transparency
   by use of unsafePerformIO hack.

2- These things are "top level", but almost certainly aren't
   "global" in most cases.

As Marcin has pointed out, we happily make use of such things
anyway, as provided by existing libraries. So the fact that
these things exist (and can be used quite safely) but the
language provides no way for the programmer to safely create
them seems a bit strange.

Regards
--
Adrian Hey

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to