exceptional: Essentially the Maybe type with error messages.

[ bsd2, control, library ] [ Propose Tags ]

This is a very simple type:

data Exceptional x
  = Failure String
  | Success x

It's much like Maybe, except instead of Nothing, we have Failure String.

A comparison could also be made to Either String. I made this library because I was dissatisfied with the Monad instance for Either. In this type, fail = Failure. It's rather simple.

Changes

0.1.5.0
Add exceptIO function to encapsulate IO errors in the Exceptional monad.
0.1.4.3
Fix bug where exceptional won't compile on base < 4.8. Also move the changelog back to the description so it's more visible.
0.1.4.2
Moved change log to a separate file so Hackage displays it correctly.
0.1.4.1
Documentation enhancements/fixes.
0.1.4.0
Added fromMaybe and toMaybe functions, and a link to the bug tracker.
0.1.3.0
Fixed a typo. 0.1.2.0 won't build. Also added definition of empty for Alternative.
0.1.2.0
Added fromEither and toEither functions.
0.1.1.3
Hackage is terrible. Yet another formatting fix.
0.1.1.2
Yet another formatting fix.
0.1.1.1
Formatting fix to the haddock documentation.
0.1.1.0
Add runExceptional function.
0.1.0.1
Minor documentation changes. No changes to the API.
0.1.0.0
Initial version

[Skip to Readme]
Versions [faq] 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.2.0, 0.1.3.0, 0.1.4.0, 0.1.4.1, 0.1.4.2, 0.1.4.3, 0.1.5.1, 0.2.0.0, 0.3.0.0 (info)
Dependencies base (>=4.4 && <5) [details]
License BSD-2-Clause
Copyright Copyright (c) 2015, Peter Harpending.
Author Peter Harpending
Maintainer peter@harpending.org
Revised Revision 1 made by AdamBergmark at Tue Jun 30 07:27:28 UTC 2015
Category Control
Home page https://github.com/pharpend/exceptional
Bug tracker https://github.com/pharpend/exceptional/issues
Source repo head: git clone https://github.com/pharpend/exceptional.git -b master
this: git clone https://github.com/pharpend/exceptional.git -b master(tag 0.1.5.1)
Uploaded by pharpend at Thu Jun 25 21:23:30 UTC 2015
Distributions LTSHaskell:0.3.0.0, NixOS:0.3.0.0, Stackage:0.3.0.0
Downloads 5596 total (272 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2015-06-25 [all 1 reports]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for exceptional-0.1.5.1

[back to package description]

exceptional

This is a Haskell library that exists to house a type:

data Exceptional x
  = Failure String
  | Success x

It's much like Maybe, except instead of Nothing, we have Failure String.

A comparison could also be made to Either String. I made this library because I was dissatisfied with the Monad instance for Either. In this type, fail = Failure. It's rather simple.

Installing

cabal install exceptional

Or, add exceptional to the build-depends field in your .cabal file.