- MonadAsync <MA, A>
- MonadAsync <Env, Out, MA, A>
- TypeClass
- ReturnAsync <MONAD, MA, A> (Task<A> x)
- traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, B> f)
- traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<B>> f)
- traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f)
- traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, B> f)
- traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<B>> f)
- traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f)
- traverseSyncAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- traverseSyncAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- traverseAsyncSync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- traverseAsyncSync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- traverseAsyncSync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f)
- traverseAsyncSync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f)
- bindAsync <MONADA, MONADB, MA, MB, A, B> (MA ma, Func<A, MB> f)
- bindAsync <MONADA, MONADB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f)
- failAsync <MONAD, MA, A> (Exception err = null)
- liftMAsync <MONAD, FUNCTOR, MA, MB, A, B> (MA ma, Func<A, B> f)
- liftMAsync <MONAD, FUNCTOR, MA, MB, A, B> (MA ma, Func<A, Task<B>> f)
- joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, C> outerKeyMap, Func<B, C> innerKeyMap, Func<A, B, D> project)
- joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, C> outerKeyMap, Func<B, C> innerKeyMap, Func<A, B, Task<D>> project)
- joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, Task<C>> outerKeyMap, Func<B, Task<C>> innerKeyMap, Func<A, B, Task<D>> project)
- joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, Task<C>> outerKeyMap, Func<B, Task<C>> innerKeyMap, Func<A, B, D> project)
- SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, MB> bind, Func<A, B, C> project)
- SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, Task<MB>> bind, Func<A, B, C> project)
- SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, Task<MB>> bind, Func<A, B, Task<C>> project)
- SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, MB> bind, Func<A, B, Task<C>> project)
- mzeroAsync <MPLUS, MA, A> ()
- mplusAsync <MPLUS, MA, A> (MA x, MA y)
- msumAsync <MPLUS, MA, A> (params MA[] xs)
- msumAsync <MPLUS, MA, A> (IEnumerable<MA> xs)
- filterAsync <MPLUS, MA, A> (MA ma, Func<A, bool> pred)
- filterAsync <MPLUS, MA, A> (MA ma, Func<A, Task<bool>> pred)
interface MonadAsync <MA, A> Source #
MonadAsync type-class
type | MA | The data-type to make monadic |
type | A | The data-type bound value |
interface MonadAsync <Env, Out, MA, A> Source #
MonadAsync type-class
type | Env | The input type to the monadic computation |
type | Out | The output type of the monadic computation |
type | MA | The data-type to make monadic |
type | A | The data-type bound value |
method MA ReturnAsync <MONAD, MA, A> (Task<A> x) Source #
Monad return
type | A | Type of the bound monad value |
param | x | The bound monad value |
returns | Monad of A |
method Task<MB> traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, B> f) Source #
method Task<MB> traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<B>> f) Source #
method Task<MB> traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
method Task<MB> traverseAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f) Source #
method Func<Env, Task<MB>> traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, B> f) Source #
method Func<Env, Task<MB>> traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<B>> f) Source #
method Func<Env, Task<MB>> traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
method Func<Env, Task<MB>> traverseAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f) Source #
method MB traverseSyncAsync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
method Func<Env, MB> traverseSyncAsync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
method Task<MB> traverseAsyncSync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
method Func<Env, Task<MB>> traverseAsyncSync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
method Task<MB> traverseAsyncSync <MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f) Source #
method Func<Env, Task<MB>> traverseAsyncSync <Env, Out, MonadA, MonadB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f) Source #
method MB bindAsync <MONADA, MONADB, MA, MB, A, B> (MA ma, Func<A, MB> f) Source #
Monadic bind
type | B | Type of the bound return value |
param | ma | Monad to bind |
param | f | Bind function |
returns | Monad of B |
method MB bindAsync <MONADA, MONADB, MA, MB, A, B> (MA ma, Func<A, Task<MB>> f) Source #
Monadic bind
type | B | Type of the bound return value |
param | ma | Monad to bind |
param | f | Bind function |
returns | Monad of B |
method MA failAsync <MONAD, MA, A> (Exception err = null) Source #
Produce a failure value
method MB liftMAsync <MONAD, FUNCTOR, MA, MB, A, B> (MA ma, Func<A, B> f) Source #
Performs a map operation on the monad
type | B | The mapped type |
param | ma | Monad to map |
param | f | Mapping operation |
returns | Mapped MonadAsync |
method MB liftMAsync <MONAD, FUNCTOR, MA, MB, A, B> (MA ma, Func<A, Task<B>> f) Source #
Performs a map operation on the monad
type | B | The mapped type |
param | ma | Monad to map |
param | f | Mapping operation |
returns | Mapped MonadAsync |
method MD joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, C> outerKeyMap, Func<B, C> innerKeyMap, Func<A, B, D> project) Source #
Monad join
method MD joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, C> outerKeyMap, Func<B, C> innerKeyMap, Func<A, B, Task<D>> project) Source #
Monad join
method MD joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, Task<C>> outerKeyMap, Func<B, Task<C>> innerKeyMap, Func<A, B, Task<D>> project) Source #
Monad join
method MD joinAsync <EQ, MONADA, MONADB, MONADD, MA, MB, MD, A, B, C, D> ( MA self, MB inner, Func<A, Task<C>> outerKeyMap, Func<B, Task<C>> innerKeyMap, Func<A, B, D> project) Source #
Monad join
method MC SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, MB> bind, Func<A, B, C> project) Source #
Monadic bind and project
method MC SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, Task<MB>> bind, Func<A, B, C> project) Source #
Monadic bind and project
method MC SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, Task<MB>> bind, Func<A, B, Task<C>> project) Source #
Monadic bind and project
method MC SelectManyAsync <MONADA, MONADB, MONADC, MA, MB, MC, A, B, C> ( MA self, Func<A, MB> bind, Func<A, B, Task<C>> project) Source #
Monadic bind and project
method MA mzeroAsync <MPLUS, MA, A> () Source #
Return monad 'zero'. None for Option, [] for Lst, ...
type | MA | Monad type |
type | A | Bound type |
returns | Zero for the structure |
method MA mplusAsync <MPLUS, MA, A> (MA x, MA y) Source #
Return monad x 'plus' monad y
Note, this doesn't add the bound values, it works on the monad state itself.
For example with Option:
None 'plus' None = None
Some a 'plus' None = Some a
None 'plus' Some b = Some b
Some a 'plus' Some b = Some a
type | MA | Monad type |
type | A | Bound type |
param | x | Left hand side of the operation |
param | y | Right hand side of the operation |
returns | x 'plus' y |
method MA msumAsync <MPLUS, MA, A> (params MA[] xs) Source #
Performs the following fold operation: fold(xs, mzero, mplus)
type | MA | Monad type |
type | A | Bound type |
param | xs | The monads to sum |
returns | The summed monads |
method MA msumAsync <MPLUS, MA, A> (IEnumerable<MA> xs) Source #
Performs the following fold operation: fold(xs, mzero, mplus)
type | MA | Monad type |
type | A | Bound type |
param | xs | The monads to sum |
returns | The summed monads |
method MA filterAsync <MPLUS, MA, A> (MA ma, Func<A, bool> pred) Source #
Filters the monad if the predicate doesn't hold
type | MA | Monad type |
type | A | Bound type |
param | ma | The monads filter |
returns | The filtered (or not) MonadAsync |
method MA filterAsync <MPLUS, MA, A> (MA ma, Func<A, Task<bool>> pred) Source #
Filters the monad if the predicate doesn't hold
type | MA | Monad type |
type | A | Bound type |
param | ma | The monads filter |
returns | The filtered (or not) MonadAsync |