Essentially the Maybe type with error messages. https://github.com/

Version on this page:
LTS Haskell 11.1:
Stackage Nightly 2018-03-21:
Latest on Hackage:

See all snapshots exceptional appears in

BSD2 licensed by Peter Harpending
Maintained by peter@harpending.org

Module documentation for


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.


cabal install exceptional

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

Depends on 2 packages:
Used by 1 package:
comments powered byDisqus