
From: Jon Fairbairn
Brandon Allbery
writes: On Wed, Feb 22, 2012 at 18:51, John Meacham
wrote: On Wed, Feb 22, 2012 at 3:05 PM, Evan Laforge
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 for the proposal. Also, the unix-bytestring package (http://hackage.haskell.org/package/unix-bytestring) exposes IO functions that don't raise exceptions at EOF. John L.