> I know you could go wild with monads, c. classes etc. and try to
> squirrel away these things, but argv is a constant (in a sane world),
> so why not treat it as such (ditto for the environment)? Thoughts?
Well, in 1983 Thomas Johnsson and I decided that this was the
way to go and this is the way it is in LML since those days.
It certainly has its advantages, but I must say that I'm leaning
in the Haskell direction now. Having the arguments and the environment
(and why not standard input, and maybe all the files in the file system?)
as global constants means that your program has dependencies on the
outside world that are not clearly visible in the program. It goes
against the grain of pure functional programming.
-- Lennart