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
Deriving
Effects
Exceptions
Extensions
Immutable Collections
Lens
MaybeTraits
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 #

record Void Source #

Meant to represent void, but we can't construct a System.Void.

A Void is the initial object in a category, equivalent to an empty set, and because there are no values in an empty set there's no way to construct a type of Void.

Usages:

  • Used in the pipes system to represent a 'closed' path.
  • Used in Decidable contravariant functors to 'lose' information.

Methods

method string ToString () Source #