Proposal: System.Environment.getEnv should return Maybe

Conrad Parker conrad at
Fri Feb 24 04:44:45 CET 2012

On 23 February 2012 20:18, John Lato <jwlato at> wrote:
>> From: Jon Fairbairn <jon.fairbairn at>
>> Brandon Allbery <allbery.b at> writes:
>>> On Wed, Feb 22, 2012 at 18:51, John Meacham <john at> wrote:
>>>> 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
>>>> For true IO exceptions, you should be using the Prelude.catch mechanism.
>>> This still assumes that it's an exceptional condition that is being
>>> modeled.  It is not; it is correctly modeled as a Maybe.
>> +1. And it?s always irritated me that read at EOF raises an
>> exception. Files having ends is not exceptional! (This is partly
>> addressed by iteratees, I imagine, but I haven?t found time to
>> get my head round those yet.)
> This irritates me too; I don't think that Haskell exceptions should be
> used for much of anything, exceptional condition or not.

+1 to the general concept of not using Haskell exceptions in library code.

> +1 for the proposal.



More information about the Libraries mailing list