exceptional: A type for pure code that can fail.

[ 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.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.*) [details]
License BSD-2-Clause
Copyright Copyright (c) 2015, Peter Harpending.
Author Peter Harpending
Maintainer peter@harpending.org
Category Control
Home page https://github.com/pharpend/exceptional
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.1.1)
Uploaded by pharpend at Thu May 14 22:00:43 UTC 2015
Distributions LTSHaskell:0.3.0.0, NixOS:0.3.0.0, Stackage:0.3.0.0
Downloads 5625 total (143 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for exceptional-0.1.1.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.