- Eff <RT, A> (ReaderT<RT, IO, A> effect)
- Pure (A value)
- Fail (Error error)
- Lift (Func<RT, Either<Error, A>> f)
- Lift (Func<RT, Fin<A>> f)
- Lift (Func<RT, A> f)
- LiftIO (Func<RT, Task<A>> f)
- LiftIO (Func<RT, Task<Fin<A>>> f)
- LiftIO (Func<RT, IO<A>> f)
- Lift (Func<Either<Error, A>> f)
- Lift (Func<Fin<A>> f)
- Lift (Func<A> f)
- LiftIO (Func<Task<A>> f)
- LiftIO (Func<Task<Fin<A>>> f)
- LiftIO (IO<A> ma)
- Map <B> (Func<A, B> f)
- Select <B> (Func<A, B> f)
- MapFail (Func<Error, Error> f)
- MapIO <B> (Func<IO<A>, IO<B>> f)
- BiMap <B> (Func<A, B> Succ, Func<Error, Error> Fail)
- Match <B> (Func<A, B> Succ, Func<Error, B> Fail)
- IfFail (Func<Error, A> Fail)
- IfFailEff (Func<Error, K<Eff<RT>, A>> Fail)
- IfFailEff (Func<Error, K<Eff, A>> Fail)
- Filter (Func<A, bool> predicate)
- Where (Func<A, bool> predicate)
- Bind <B> (Func<A, Eff<RT, B>> f)
- Bind <B> (Func<A, IO<B>> f)
- Bind <B> (Func<A, Ask<RT, B>> f)
- Bind <B> (Func<A, K<Eff<RT>, B>> f)
- Bind <B> (Func<A, Pure<B>> f)
- Bind (Func<A, Fail<Error>> f)
- Bind <B> (Func<A, Eff<B>> f)
- Bind <B> (Func<A, K<Eff, B>> f)
- SelectMany <B, C> (Func<A, Eff<RT, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, K<Eff<RT>, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, IO<B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Ask<RT, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Fail<Error>> bind, Func<A, B, C> project)
- SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project)
- SelectMany <C> (Func<A, Guard<Fail<Error>, Unit>> bind, Func<A, Unit, C> project)
- SelectMany <B, C> (Func<A, Eff<B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, K<Eff, B>> bind, Func<A, B, C> project)
- >> (Eff<RT, A> lhs, Eff<RT, A> rhs)
- >> (Eff<RT, A> lhs, Eff<A> rhs)
- >> (Eff<RT, A> lhs, K<Eff<RT>, A> rhs)
- >> (Eff<RT, A> lhs, K<Eff, A> rhs)
- >> (Eff<RT, A> lhs, Eff<RT, Unit> rhs)
- >> (Eff<RT, A> lhs, Eff<Unit> rhs)
- >> (Eff<RT, A> lhs, K<Eff<RT>, Unit> rhs)
- >> (Eff<RT, A> lhs, K<Eff, Unit> rhs)
- | (Eff<RT, A> ma, Eff<RT, A> mb)
- | (Eff<RT, A> ma, K<Eff<RT>, A> mb)
- | (K<Eff<RT>, A> ma, Eff<RT, A> mb)
- | (Eff<RT, A> ma, Pure<A> mb)
- | (Eff<RT, A> ma, Fail<Error> error)
- | (Eff<RT, A> ma, Error error)
- | (Eff<RT, A> ma, A value)
- | (Eff<RT, A> ma, CatchM<Error, Eff<RT>, A> mb)
- | (Eff<RT, A> ma, CatchM<Error, Eff, A> mb)
- Success (A value)
- Effect (Func<RT, A> f)
- EffectMaybe (Func<RT, Fin<A>> f)
- ToString ()
Sub modules
Extensions |
Prelude |
record Eff <RT, A> (ReaderT<RT, IO, A> effect) Source #
Transducer based effect/Eff
monad
type | RT | Runtime struct |
type | A | Bound value type |
method Eff<RT, B> Map <B> (Func<A, B> f) Source #
Maps the Eff
monad if it's in a success state
param | f | Function to map the success value with |
returns | Mapped |
method Eff<RT, B> Select <B> (Func<A, B> f) Source #
Maps the Eff
monad if it's in a success state
param | f | Function to map the success value with |
returns | Mapped |
method Eff<RT, A> MapFail (Func<Error, Error> f) Source #
Maps the Eff
monad if it's in a success state
param | f | Function to map the success value with |
returns | Mapped |
method Eff<RT, B> MapIO <B> (Func<IO<A>, IO<B>> f) Source #
Maps the inner IO monad
param | f | Function to map with |
returns | Mapped |
method Eff<RT, B> BiMap <B> (Func<A, B> Succ, Func<Error, Error> Fail) Source #
Mapping of either the Success state or the Failure state depending on what
state this Eff
monad is in.
param | Succ | Mapping to use if the |
param | Fail | Mapping to use if the |
returns | Mapped |
method Eff<RT, B> Match <B> (Func<A, B> Succ, Func<Error, B> Fail) Source #
Pattern match the success or failure values and collapse them down to a success value
param | Succ | Success value mapping |
param | Fail | Failure value mapping |
returns | IO in a success state |
method Eff<RT, A> IfFail (Func<Error, A> Fail) Source #
Map the failure to a success value
param | f | Function to map the fail value |
returns | IO in a success state |
method Eff<RT, A> IfFailEff (Func<Error, K<Eff<RT>, A>> Fail) Source #
Map the failure to a new IO effect
param | f | Function to map the fail value |
returns | IO that encapsulates that IfFail |
method Eff<RT, A> IfFailEff (Func<Error, K<Eff, A>> Fail) Source #
Map the failure to a new IO effect
param | f | Function to map the fail value |
returns | IO that encapsulates that IfFail |
method Eff<RT, A> Filter (Func<A, bool> predicate) Source #
Only allow values through the effect if the predicate returns true
for the bound value
param | predicate | Predicate to apply to the bound value> |
returns | Filtered IO |
method Eff<RT, A> Where (Func<A, bool> predicate) Source #
Only allow values through the effect if the predicate returns true
for the bound value
param | predicate | Predicate to apply to the bound value> |
returns | Filtered IO |
method Eff<RT, B> Bind <B> (Func<A, Eff<RT, B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, B> Bind <B> (Func<A, IO<B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, B> Bind <B> (Func<A, Ask<RT, B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, B> Bind <B> (Func<A, K<Eff<RT>, B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, B> Bind <B> (Func<A, Pure<B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, A> Bind (Func<A, Fail<Error>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, B> Bind <B> (Func<A, Eff<B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, B> Bind <B> (Func<A, K<Eff, B>> f) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | f | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, Eff<RT, B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, K<Eff<RT>, B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, IO<B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, Ask<RT, B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, Fail<Error>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <C> (Func<A, Guard<Fail<Error>, Unit>> bind, Func<A, Unit, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, Eff<B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, C> SelectMany <B, C> (Func<A, K<Eff, B>> bind, Func<A, B, C> project) Source #
Monadic bind operation. This runs the current Eff
monad and feeds its result to the
function provided; which in turn returns a new Eff
monad. This can be thought of as
chaining IO operations sequentially.
param | bind | Bind operation |
returns | Composition of this monad and the result of the function provided |
method Eff<RT, A> EffectMaybe (Func<RT, Fin<A>> f) Source #
Lift a synchronous effect into the Eff
monad
operator >> (Eff<RT, A> lhs, Eff<RT, Unit> rhs) Source #
Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.
param | lhs | First action to run |
param | rhs | Second action to run |
returns | Result of the second action |
operator >> (Eff<RT, A> lhs, Eff<Unit> rhs) Source #
Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.
param | lhs | First action to run |
param | rhs | Second action to run |
returns | Result of the second action |
operator >> (Eff<RT, A> lhs, K<Eff<RT>, Unit> rhs) Source #
Sequentially compose two actions. The second action is a unit returning action, so the result of the first action is propagated.
param | lhs | First action to run |
param | rhs | Second action to run |
returns | Result of the first action |
operator >> (Eff<RT, A> lhs, K<Eff, Unit> rhs) Source #
Sequentially compose two actions. The second action is a unit returning action, so the result of the first action is propagated.
param | lhs | First action to run |
param | rhs | Second action to run |
returns | Result of the first action |
operator | (Eff<RT, A> ma, Eff<RT, A> mb) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | mb | Alternative IO operation |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, K<Eff<RT>, A> mb) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | mb | Alternative IO operation |
returns | Result of either the first or second operation |
operator | (K<Eff<RT>, A> ma, Eff<RT, A> mb) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | mb | Alternative IO operation |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, Pure<A> mb) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | mb | Alternative value if the IO operation fails |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, Fail<Error> error) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | error | Alternative value if the IO operation fails |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, Error error) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | error | Error if the IO operation fails |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, A value) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | value | Alternative value if the IO operation fails |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, CatchM<Error, Eff<RT>, A> mb) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | mb | Alternative IO operation |
returns | Result of either the first or second operation |
operator | (Eff<RT, A> ma, CatchM<Error, Eff, A> mb) Source #
Run the first IO operation; if it fails, run the second. Otherwise, return the result of the first without running the second.
param | ma | First IO operation |
param | mb | Alternative IO operation |
returns | Result of either the first or second operation |