LanguageExt.Core

LanguageExt.Core

If you're new to this library, you may need a few pointers of where to look for features:

Contents

Sub modules

Async
Class Instances
Common
Concurrency
DataTypes
Effects
Exceptions
Extensions
Immutable Collections
Lens
Monads
Obsolete and Deprecated
Prelude
Pretty
Prism
Traits
Units of Measure
Utility

record CatchM <E, M, A> (Func<E, bool> Match, Func<E, K<M, A>> Action) Source #

where M : Fallible<E, M>

Used by @catch, @exceptional, @expected to represent the catching of errors

Methods

method K<M, A> Run (E error, K<M, A> otherwise) Source #

Operators

operator | (K<M, A> lhs, CatchM<E, M, A> rhs) Source #

class CombinatorsDynamic Source #

Fields

field Func<dynamic, dynamic> I = (dynamic x) => x Source #

Identity function, or the Idiot bird dkeenan.com/Lambda/

field Func<dynamic, Func<dynamic, dynamic>> M = (dynamic x) => (dynamic a) => x(x(a)) Source #

The Mockingbird dkeenan.com/Lambda/

field Func<dynamic, Func<dynamic, dynamic>> K = (dynamic x) => (dynamic y) => x Source #

The Kestrel dkeenan.com/Lambda/

field Func<dynamic, Func<dynamic, dynamic>> T = (dynamic x) => (dynamic y) => y(x) Source #

field Func<dynamic, Func<dynamic, Func<dynamic, dynamic>>> Q = (dynamic x) => (dynamic y) => (dynamic z) => y(x(z)) Source #

The Queer bird dkeenan.com/Lambda/

field Func<dynamic, Func<dynamic, Func<dynamic, dynamic>>> S = (dynamic x) => (dynamic y) => (dynamic z) => x(z)(y(z)) Source #

The Starling dkeenan.com/Lambda/

field Func<dynamic, Func<dynamic, dynamic>> Y = (dynamic f) => (dynamic x) => f(Y(f), x) Source #

The infamous Y-combinator, or Sage bird dkeenan.com/Lambda/

class Combinators <A> Source #

Fields

field Func<A, A> I = (A x) => x Source #

Identity function, or the Idiot bird dkeenan.com/Lambda/

field Func<Func<A, A>, Func<A, A>> M = (Func<A, A> x) => a => x(x(a)) Source #

The Mockingbird dkeenan.com/Lambda/

class Combinators <A, B> Source #

Fields

field Func<A, Func<B, A>> K = (A x) => (B y) => x Source #

The Kestrel dkeenan.com/Lambda/

field Func<A, Func<Func<A, B>, B>> T = (A x) => (Func<A, B> y) => y(x) Source #

class Combinators <A, B, C> Source #

Fields

field Func<Func<A, B>, Func<Func<B, C>, Func<A, C>>> Q = (Func<A, B> x) => (Func<B, C> y) => (A z) => y(x(z)) Source #

The Queer bird dkeenan.com/Lambda/

field Func<Func<A, Func<B, C>>, Func<Func<A, B>, Func<A, C>>> S = (Func<A, Func<B, C>> x) => (Func<A, B> y) => (A z) => x(z)(y(z)) Source #

The Starling dkeenan.com/Lambda/

field Func<Func<Func<A, B>, A, B>, Func<A, B>> Y = (Func<Func<A, B>, A, B> f) => (A x) => f(Y!(f), x) Source #

The infamous Y-combinator, or Sage bird dkeenan.com/Lambda/

class Combinators Source #

Methods

method A I <A> (A x) Source #

Identity function, or the Idiot bird dkeenan.com/Lambda/

method Func<B, A> K <A, B> (A x) Source #

The Kestrel dkeenan.com/Lambda/

method Func<A, A> M <A> (Func<A, A> x) Source #

The Mockingbird dkeenan.com/Lambda/

method Func<Func<A, B>, B> T <A, B> (A x) Source #

method Func<Func<B, C>, Func<A, C>> Q <A, B, C> (Func<A, B> x) Source #

The Queer bird dkeenan.com/Lambda/

method Func<Func<A, B>, Func<A, C>> S <A, B, C> (Func<A, B, C> x) Source #

The Starling dkeenan.com/Lambda/

class Comment_Alternatives Source #

Certain characters don't work in the XML comments, so we use these alternatives

<  becomes 〈     (Unicode 3008)
>  becomes 〉     (Unicode 3009)
&amp; becomes &     (Unicode FF06)

struct Guard <E, A> Source #

Used by various error producing monads to have a contextual where

See Prelude.guard(...)

Fields

field bool Flag Source #

Properties

property Func<E> OnFalse Source #

Methods

method Guard<E, B> Cast <B> () Source #

method Guard<E, C> SelectMany <C> (Func<E, Guard<E, Unit>> bind, Func<Unit, Unit, C> project) Source #

method Guard<E, B> Select <B> (Func<B, B> _) Source #

method Either<E, Unit> ToEither () Source #

Natural transformation to Either

method Either<E, B> Bind <B> (Func<Unit, Either<E, B>> f) Source #

Monadic binding support for Either

method Either<E, C> SelectMany <B, C> ( Func<Unit, Either<E, B>> bind, Func<Unit, B, C> project) Source #

Monadic binding SelectMany extension for Guard

class GuardExtensions Source #

Methods

method IO<B> Bind <B> ( this Guard<Error, Unit> guard, Func<Unit, IO<B>> f) Source #

Monadic binding support for Eff

method IO<C> SelectMany <B, C> ( this Guard<Error, Unit> guard, Func<Unit, IO<B>> bind, Func<Unit, B, C> project) Source #

Monadic binding support for Eff

method IO<Unit> ToIO (this Guard<Error, Unit> guard) Source #

Natural transformation to IO

method Eff<Unit> ToEff (this Guard<Error, Unit> guard) Source #

Natural transformation to Eff

method Eff<B> Bind <B> ( this Guard<Error, Unit> guard, Func<Unit, Eff<B>> f) Source #

Monadic binding support for Eff

method Eff<C> SelectMany <B, C> ( this Guard<Error, Unit> guard, Func<Unit, Eff<B>> bind, Func<Unit, B, C> project) Source #

Monadic binding support for Eff

method Eff<RT, Unit> ToEff <RT> (this Guard<Error, Unit> guard) Source #

Natural transformation to Eff

method Eff<RT, B> Bind <RT, B> ( this Guard<Error, Unit> guard, Func<Unit, Eff<RT, B>> f) Source #

Monadic binding support for Eff

method Eff<RT, C> SelectMany <RT, B, C> ( this Guard<Error, Unit> guard, Func<Unit, Eff<RT, B>> bind, Func<Unit, B, C> project) Source #

Monadic binding support for Eff

method Validation<F, Unit> ToValidation <F> (this Guard<F, Unit> guard) Source #

where F : Monoid<F>

Natural transformation to Validation

method Validation<F, B> Bind <F, B> ( this Guard<F, Unit> guard, Func<Unit, Validation<F, B>> f) Source #

where F : Monoid<F>

Monadic binding support for Validation

method Validation<F, C> SelectMany <F, B, C> ( this Guard<F, Unit> guard, Func<Unit, Validation<F, B>> bind, Func<Unit, B, C> project) Source #

where F : Monoid<F>

Monadic binding support for Validation

class Number <A> Source #

where A : INumber<A>

Num〈A〉 trait for INumber〈A〉

Parameters

type A

Methods

method int GetHashCode (A x) Source #

method bool Equals (A x, A y) Source #

method int Compare (A x, A y) Source #

method A Add (A x, A y) Source #

method A Subtract (A x, A y) Source #

method A Multiply (A x, A y) Source #

method A Negate (A x) Source #

method A Abs (A x) Source #

method A Signum (A x) Source #

method A FromInteger (int x) Source #

method A FromDecimal (decimal x) Source #

method A FromFloat (float x) Source #

method A FromDouble (double x) Source #

method A Divide (A x, A y) Source #