IOError vs. Exception vs. IOException

Simon Marlow
Fri, 15 Nov 2002 10:01:18 -0000

> Just a thought, but what are the ramifications of taking the other
> route, relaxing the haskell 98 spec to allow implementations to expand
> the set of valid exceptions? a function can be used to=20
> determine whether
> it is something not covered by the haskell 98 spec (even if=20
> we dont know
> anything else about it..) and we can at least rethrow it or=20
> 'show' it in
> logs or whatever. lots of useful little functions can be written which
> are haskell 98 but should be general enough to handle random=20
> exceptions,
> it would be silly to have to keep 2 versions around...

It's difficult to "relax the Haskell 98 spec" in this way, since most
compilers can be used in a strict Haskell 98 mode.  Up to now this
hasn't required using a different set of libraries, but if
-fglasgow-exts changed the meaning of IO.catch then it would.

Instead, I'd suggest deprecating System.IO.catch and perhaps the rest of
the IOError support in System.IO.  It is all available from
System.IO.Error and Control.Exception anyhow.