The explicit-exception package

[ Tags: bsd3, control, library ] [ Propose Tags ]

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 and (programming) errors (division by zero, index out of range, see 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


Versions 0.0.1, 0.0.2, 0.1,, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7,,,, 0.1.8, 0.1.9
Dependencies applicative (==1.0.*), base (>=1 && <5), bytestring (>= && <0.11), deepseq (>=1.1 && <1.5), special-functors (==1.0.*), tar (==0.3.*), transformers (>=0.2 && <0.6) [details]
License BSD3
Author Henning Thielemann <>
Maintainer Henning Thielemann <>
Category Control
Home page
Source repository head: darcs get
this: darcs get --tag 0.1.9
Uploaded Sat Jun 3 09:07:27 UTC 2017 by HenningThielemann
Distributions Debian:, LTSHaskell:0.1.9, NixOS:0.1.9, Stackage:0.1.9, Tumbleweed:0.1.9
Executables ee-writer, ee-unzip, ee-test, ee-tar
Downloads 6112 total (75 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-06-03 [all 1 reports]
Hackage Matrix CI





Build executables that demonstrate some space leaks


Choose the smaller, split-up base package from version 2 on.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees