Alastair Reid wrote:
I'm just wondering, why haven't process properties (such as the command
line arguments, or the parent process id), which are inherently global,
been made global values in the Haskell standard? You could avoid
needlessly carrying around these values, you wouldn't need to lift some
functions into the IO monad...


This is true and you don't break purity and common programming tasks become a bit easier because you need less plumbing. One argument against doing so is that it will make data dependencies less obvious.

An ironic historical footnote here: Back in the ancient days, only hbc provided access to command line arguments and environment variables, and it did so through a global.


The argument on this subject happened back then, too (in the early days of the Haskell mailing list!). I have no idea if there are archives from back then...

-Jan-Willem Maessen

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

Reply via email to