Exceptions which are explicit in the type signature.
Synchronous and Asynchronous exceptions which are explicit in the type signature. The first ones are very similar to Either
and Control.Monad.Error.ErrorT
. The second ones are used for System.IO.readFile
and System.IO.hGetContents
. This package is a proposal for improved exception handling in Haskell. It strictly separates between handling of exceptional situations (file not found, invalid user input, see http://wiki.haskell.org/Exception) and (programming) errors (division by zero, index out of range, see http://wiki.haskell.org/Error). Handling of the first one is called "exception handling", whereas handling of errors is better known as "debugging".
For applications see the packages midi
, spreadsheet
, http-monad
.
Although I'm not happy with the identifier style of the Monad Transformer Library (partially intended for unqualified use) I have tried to adopt it for this library, in order to let Haskell programmers get accustomed easily to it.
See also: unexceptionalio