Copyright | (c) 2019 Yann Herklotz Grave |
---|---|
License | GPL-3 |
Maintainer | yann [at] yannherklotz [dot] com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
Result monadic type. This is nearly equivalent to the transformers Error
type,
but to have more control this is reimplemented with the instances that are
needed in Verismith.
Documentation
Result type which is equivalent to Either
or Error
. This is
reimplemented so that there is full control over the Monad
definition and
definition of a Monad
transformer ResultT
.
Instances
Bifunctor Result Source # | |
Monad (Result a) Source # | |
Functor (Result a) Source # | |
Applicative (Result a) Source # | |
MonadBase (Result a) (Result a) Source # | |
Defined in Verismith.Result | |
(Eq a, Eq b) => Eq (Result a b) Source # | |
(Show a, Show b) => Show (Result a b) Source # | |
Semigroup (Result a b) Source # | |
Monoid b => Monoid (Result a b) Source # | |
newtype ResultT a m b Source #
The transformer for the Result
type. This
ResultT | |
|
Instances
MonadBaseControl IO m => MonadBaseControl IO (ResultT a m) Source # | |
MonadBase b m => MonadBase b (ResultT a m) Source # | |
Defined in Verismith.Result | |
MonadTransControl (ResultT a) Source # | |
MonadTrans (ResultT e) Source # | |
Defined in Verismith.Result | |
Monad m => Monad (ResultT a m) Source # | |
Functor f => Functor (ResultT a f) Source # | |
Monad m => Applicative (ResultT a m) Source # | |
Defined in Verismith.Result | |
MonadIO m => MonadIO (ResultT a m) Source # | |
Defined in Verismith.Result | |
(MonadSh m, Monoid a) => MonadSh (ResultT a m) Source # | |
Defined in Verismith.Result | |
type StT (ResultT a) b Source # | |
Defined in Verismith.Result | |
type StM (ResultT a m) b Source # | |
Defined in Verismith.Result |