planet-mitchell-0.1.0: Planet Mitchell

Synopsis

# Documentation

class Monad m => MonadFail (m :: * -> *) where #

When a value is bound in do-notation, the pattern on the left hand side of <- might not match. In this case, this class provides a function to recover.

A Monad without a MonadFail instance may only be used in conjunction with pattern that always match, such as newtypes, tuples, data types with only a single data constructor, and irrefutable patterns (~pat).

Instances of MonadFail should satisfy the following law: fail s should be a left zero for >>=,

fail s >>= f  =  fail s


If your Monad is also MonadPlus, a popular definition is

fail _ = mzero


Since: base-4.9.0.0

Minimal complete definition

fail

Methods

fail :: String -> m a #

Instances