> I propose to add setEnv/unsetEnv to System.Environment, so that it is > easier to write applications that behave the same on POSIX and Windows > systems.
I finally prepared a patch for "base" [1]. Contrary to what I originally assumed, getting it right on POSIX systems is much harder than on Windows. Here is the summary of the discussion: As I understand it, Duncan Coutts, Gregory Collins, Edward A. Kmett and Ben Millwood support the proposal. Gregory Collins noted that > you can get rid of unsetEnv if you make setEnv take a "Maybe String", > which might be better. Ultimately though, who cares what color the > bike shed is painted :) And I explained that > on Windows, setEnv "FOO" "" will remove FOO from the environment. I > don't particularly like it, but as my stated goal was to provide the > exact same behavior on all platforms and there is no way to work > around this on Windows my implementation does the same thing. > > People who don't care for Windows support and want to set an > environment variable to the empty string can still use "unix". > > So short answer: setEnv already supports removing. > > We could still remove unsetEnv from the public interface. I have no > fixed opinion on that, so I'm very open for suggestions. Evan Laforge and Wren Thornton then provided valuable feedback on how to improve the documentation, which I addressed. There were no major concerns or rejections. Cheers, Simon [1] http://hackage.haskell.org/trac/ghc/ticket/7427 _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc