I support those who argue AGAINST making argv a constant.
If it's a problem, let's find a general solution.
One possible solution is a new declaration, of the form:
pseudoconstant <name> <expr>
where <expr> has type (IO t), and <name> is declared with type t.
(Pick a different keyword if you prefer.) The only tricky issue is
the order in which the commands of type (IO t) are executed. They
should clearly precede main, but how should they relate to each other?
It seems reasonable to restrict this declaration to appear in the same
module as main, in which case the textual order is sufficient.
-- P
-----------------------------------------------------------------------
Philip Wadler [EMAIL PROTECTED]
Bell Laboratories http://cm.bell-labs.com/cm/cs/who/wadler/
Lucent Technologies office: +1 908 582 4004
700 Mountain Ave, Room 2T-304 fax: +1 908 582 5857
Murray Hill, NJ 07974-0636 USA home: +1 908 626 9252
-----------------------------------------------------------------------