LanguageExt.Core

LanguageExt.Core Traits Applicative

Contents

class ApplicativeExtensions Source #

Monad module

Methods

method K<F, B> Apply <F, A, B> (this K<F, Func<A, B>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, B> ApplyM <F, A, B> (this K<F, Func<A, K<F, B>>> mf, K<F, A> ma) Source #

where F : Monad<F>

method K<F, Func<B, C>> Apply <F, A, B, C> (this K<F, Func<A, B, C>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, Func<B, K<F, C>>> ApplyM <F, A, B, C> (this K<F, Func<A, B, K<F, C>>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, C> Apply <F, A, B, C> (this K<F, Func<A, B, C>> mf, K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, C> ApplyM <F, A, B, C> (this K<F, Func<A, B, K<F, C>>> mf, K<F, A> ma, K<F, B> mb) Source #

where F : Monad<F>

method K<F, D> Apply <F, A, B, C, D> (this K<F, Func<A, B, C, D>> mf, K<F, A> ma, K<F, B> mb, K<F, C> mc) Source #

where F : Applicative<F>

method K<F, D> ApplyM <F, A, B, C, D> (this K<F, Func<A, B, C, K<F, D>>> mf, K<F, A> ma, K<F, B> mb, K<F, C> mc) Source #

where F : Monad<F>

method K<F, Func<C, D>> Apply <F, A, B, C, D> (this K<F, Func<A, B, C, D>> mf, K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, Func<C, K<F, D>>> ApplyM <F, A, B, C, D> (this K<F, Func<A, B, C, K<F, D>>> mf, K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, Func<B,Func<C, D>>> Apply <F, A, B, C, D> (this K<F, Func<A, B, C, D>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, Func<B,Func<C, K<F, D>>>> ApplyM <F, A, B, C, D> (this K<F, Func<A, B, C, K<F, D>>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, B> Action <F, A, B> (this K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, A> Actions <F, A> (this IEnumerable<K<F, A>> ma) Source #

where F : Applicative<F>

method K<F, B> Lift <F, A, B> (this Func<A, B> f, K<F, A> fa) Source #

where F : Applicative<F>

method K<F, C> Lift <F, A, B, C> (this Func<A, B, C> f, K<F, A> fa, K<F, B> fb) Source #

where F : Applicative<F>

method K<F, C> Lift <F, A, B, C> (this Func<A, Func<B, C>> f, K<F, A> fa, K<F, B> fb) Source #

where F : Applicative<F>

method K<F, D> Lift <F, A, B, C, D> (this Func<A, B, C, D> f, K<F, A> fa, K<F, B> fb, K<F, C> fc) Source #

where F : Applicative<F>

method K<F, D> Lift <F, A, B, C, D> (this Func<A, Func<B, Func<C, D>>> f, K<F, A> fa, K<F, B> fb, K<F, C> fc) Source #

where F : Applicative<F>

method K<Fnctr, R> Apply <Fnctr, A, B, R> ( this (K<Fnctr, A>, K<Fnctr, B>) items, Func<A, B, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, R> ( this (K<M, A>, K<M, B>) items, Func<A, B, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>) items, Func<A, B, C, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, R> ( this (K<M, A>, K<M, B>, K<M, C>) items, Func<A, B, C, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>) items, Func<A, B, C, D, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>) items, Func<A, B, C, D, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, E, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>, K<Fnctr, E>) items, Func<A, B, C, D, E, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, E, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>, K<M, E>) items, Func<A, B, C, D, E, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, E, F, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>, K<Fnctr, E>, K<Fnctr, F>) items, Func<A, B, C, D, E, F, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, E, F, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>, K<M, E>, K<M, F>) items, Func<A, B, C, D, E, F, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, E, F, G, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>, K<Fnctr, E>, K<Fnctr, F>, K<Fnctr, G>) items, Func<A, B, C, D, E, F, G, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, E, F, G, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>, K<M, E>, K<M, F>, K<M, G>) items, Func<A, B, C, D, E, F, G, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, E, F, G, H, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>, K<Fnctr, E>, K<Fnctr, F>, K<Fnctr, G>, K<Fnctr, H>) items, Func<A, B, C, D, E, F, G, H, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, E, F, G, H, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>, K<M, E>, K<M, F>, K<M, G>, K<M, H>) items, Func<A, B, C, D, E, F, G, H, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, E, F, G, H, I, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>, K<Fnctr, E>, K<Fnctr, F>, K<Fnctr, G>, K<Fnctr, H>, K<Fnctr, I>) items, Func<A, B, C, D, E, F, G, H, I, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, E, F, G, H, I, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>, K<M, E>, K<M, F>, K<M, G>, K<M, H>, K<M, I>) items, Func<A, B, C, D, E, F, G, H, I, K<M, R>> f) Source #

where M : Monad<M>

method K<Fnctr, R> Apply <Fnctr, A, B, C, D, E, F, G, H, I, J, R> ( this (K<Fnctr, A>, K<Fnctr, B>, K<Fnctr, C>, K<Fnctr, D>, K<Fnctr, E>, K<Fnctr, F>, K<Fnctr, G>, K<Fnctr, H>, K<Fnctr, I>, K<Fnctr, J>) items, Func<A, B, C, D, E, F, G, H, I, J, R> f) Source #

where Fnctr : Applicative<Fnctr>

method K<M, R> ApplyM <M, A, B, C, D, E, F, G, H, I, J, R> ( this (K<M, A>, K<M, B>, K<M, C>, K<M, D>, K<M, E>, K<M, F>, K<M, G>, K<M, H>, K<M, I>, K<M, J>) items, Func<A, B, C, D, E, F, G, H, I, J, K<M, R>> f) Source #

where M : Monad<M>

method K<F, A> Add <NumA, F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where NumA : Num<A>

Sum the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Add <F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where A : IAdditionOperators<A, A, A>

Sum the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Subtract <NumA, F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where NumA : Arithmetic<A>

Subtract the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Subtract <F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where A : ISubtractionOperators<A, A, A>

Subtract the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Multiply <NumA, F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where NumA : Arithmetic<A>

Multiply the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Multiply <F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where A : IMultiplyOperators<A, A, A>

Multiply the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Divide <NumA, F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where NumA : Num<A>

Multiply the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

method K<F, A> Divide <F, A> (this K<F, A> fa, K<F, A> fb) Source #

where F : Applicative<F>
where A : IDivisionOperators<A, A, A>

Multiply the bound values of the applicative structures provided

Parameters

type NumA

Num of A

type A

Bound value type

param fx

Left hand side of the operation

param fy

Right hand side of the operation

returns

An applicative structure with the arithmetic operation applied to the bound values.

class Applicative Source #

Applicative module

Methods

method K<F, A> pure <F, A> (A value) Source #

where F : Applicative<F>

method K<F, B> apply <F, A, B> (K<F, Func<A, B>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, Func<B, C>> apply <F, A, B, C> (K<F, Func<A, B, C>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, C> apply <F, A, B, C> (K<F, Func<A, B, C>> mf, K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, D> apply <F, A, B, C, D> (K<F, Func<A, B, C, D>> mf, K<F, A> ma, K<F, B> mb, K<F, C> mc) Source #

where F : Applicative<F>

method K<F, Func<C, D>> apply <F, A, B, C, D> (K<F, Func<A, B, C, D>> mf, K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, Func<B,Func<C, D>>> apply <F, A, B, C, D> (K<F, Func<A, B, C, D>> mf, K<F, A> ma) Source #

where F : Applicative<F>

method K<F, B> action <F, A, B> (K<F, A> ma, K<F, B> mb) Source #

where F : Applicative<F>

method K<F, A> actions <F, A> (IEnumerable<K<F, A>> ma) Source #

where F : Applicative<F>

method K<F, Unit> when <F> (bool flag, K<F, Unit> fx) Source #

where F : Applicative<F>

method K<F, Unit> unless <F> (bool flag, K<F, Unit> fx) Source #

where F : Applicative<F>

method K<F, B> lift <F, A, B> (Func<A, B> f, K<F, A> fa) Source #

where F : Applicative<F>

method K<F, C> lift <F, A, B, C> (Func<A, B, C> f, K<F, A> fa, K<F, B> fb) Source #

where F : Applicative<F>

method K<F, C> lift <F, A, B, C> (Func<A, Func<B, C>> f, K<F, A> fa, K<F, B> fb) Source #

where F : Applicative<F>

method K<F, D> lift <F, A, B, C, D> (Func<A, B, C, D> f, K<F, A> fa, K<F, B> fb, K<F, C> fc) Source #

where F : Applicative<F>

method K<F, D> lift <F, A, B, C, D> (Func<A, Func<B, Func<C, D>>> f, K<F, A> fa, K<F, B> fb, K<F, C> fc) Source #

where F : Applicative<F>

interface Applicative <F> Source #

where F : Applicative<F>

Applicative functor

Parameters

type F

Functor trait type

type A

Bound value type

Methods

method K<F, A> Pure <A> (A value) Source #

method K<F, B> Apply <A, B> (K<F, Func<A, B>> mf, K<F, A> ma) Source #

method K<F, B> Action <A, B> (K<F, A> ma, K<F, B> mb) Source #

method K<F, C> Apply <A, B, C> (K<F, Func<A, B, C>> mf, K<F, A> ma, K<F, B> mb) Source #

method K<F, Func<B, C>> Apply <A, B, C> (K<F, Func<A, B, C>> mf, K<F, A> ma) Source #

method K<F, C> Apply <A, B, C> (K<F, Func<A, Func<B, C>>> mf, K<F, A> ma, K<F, B> mb) Source #

method K<F, A> Actions <A> (IEnumerable<K<F, A>> fas) Source #