Proposal: System.Environment.getEnv should return Maybe

Evan Laforge qdunkan at
Mon Mar 12 03:35:56 CET 2012

On Wed, Feb 22, 2012 at 3:05 PM, Evan Laforge <qdunkan at> wrote:
> It's awkward and surprising how getEnv throws an exception when an env
> var is not set, since it's very common for env vars to be optional,
> and it's not convenient to catch exceptions in haskell (I have to look
> up Control.Exception every time, and then add LANGUAGE
> ScopedTypeVariables).  I wind up using 'fmap lookup k
> Environment.getEnvironment' instead.
> So I propose a function: lookupEnv :: String -> IO (Maybe String)
> Then getEnv can be deprecated and eventually removed.  Or maybe not if
> people want to argue the current getEnv is useful and deprecation
> warnings would be too annoying.
> Yeah, it's a trivial thing, but it's nice to sand off some of these rough edges.
> Discussion: 2 weeks, March 7

Well, it's past March 7, and there was pretty widespread support, so I
made a patch and and ticket:

Anything else I should do?

More information about the Libraries mailing list