The explicit-exception package

[Tags:bsd3, library]

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://www.haskell.org/haskellwiki/Exception) and (programming) errors (division by zero, index out of range, see http://www.haskell.org/haskellwiki/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.

To do: Because many people requested it, we will provide a bracket function that frees a resource both when an exception and an error occurs, that is, it combines exception handling and debugging. However note that freeing resources in case of an error is dangerous and may cause further damage.

Properties

Versions 0.0.1, 0.0.2, 0.1, 0.1.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.7.1, 0.1.7.2, 0.1.7.3, 0.1.8
Dependencies applicative (==1.0.*), base (>=1 && <5), bytestring (>=0.9.0.1 && <0.10), special-functors (==1.0.*), tar (==0.3.*), transformers (==0.2.*) [details]
License BSD3
Author Henning Thielemann <haskell@henning-thielemann.de>
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Stability Experimental
Category Control
Home page http://www.haskell.org/haskellwiki/Exception
Source repository head: darcs get http://code.haskell.org/explicit-exception/
this: darcs get http://code.haskell.org/explicit-exception/ --tag 0.1.5
Uploaded Wed May 5 08:50:52 UTC 2010 by HenningThielemann
Distributions Debian:0.1.7.3, LTSHaskell:0.1.8, NixOS:0.1.8, Stackage:0.1.8, Tumbleweed:0.1.8
Downloads 5164 total (141 in the last 30 days)
Votes
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
buildtestsBuild test suiteDisabledAutomatic
splitbaseChoose the smaller, split-up base package from version 2 on.EnabledAutomatic

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees