Synchronous and Asynchronous exceptions which are explicit in the type signature.
The first ones are very similar to
The second ones are used for
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://www.haskell.org/haskellwiki/Exception) and
(programming) errors (division by zero, index out of range,
Handling of the first one is called "exception handling",
whereas handling of errors is better known as "debugging".
For applications see the packages
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.