If you're new to this library, you may need a few pointers of where to look for features:
Prelude
is astatic partial class
, this type is loaded with functions for constructing the key data types, as well as many of the things you'd expect in a functional programming language's prelude. Note, thePrelude
type extends into many other parts of the source-tree. It's the same type, but spread all over the code-base. And so, you may seePrelude
in other areas of the documentation: it's the same type.Because it's so fundamental, you'll want to add this to the top of every code file:
using static LanguageExt.Prelude;
This makes all of the functions in the
Prelude
available as though they were local.Monads
contains the common monads likeOption<A>
andEither<L, R>
, as well as state-managing monads likeReader
,Writer
, andState
.Immutable Collections
contains the high-performance functional collection types this library is famous for.Effects
is where the pure IO functionality of language-ext resides. It is also where you'll find thePipes
compositional streaming functionality. To understand more about how to deal with side-effects, check the wiki.Concurrency
is where you'll find lots of help in atomically managing shared data without locks.
- CatchValue <A>
- CatchError
- CombinatorsDynamic
- I = (dynamic x) => x
- M = (dynamic x) => (dynamic a) => x(x(a))
- K = (dynamic x) => (dynamic y) => x
- T = (dynamic x) => (dynamic y) => y(x)
- Q = (dynamic x) => (dynamic y) => (dynamic z) => y(x(z))
- S = (dynamic x) => (dynamic y) => (dynamic z) => x(z)(y(z))
- Y = (dynamic f) => (dynamic x) => f(Y(f), x)
- Combinators <A>
- Combinators <A, B>
- Combinators <A, B, C>
- Q = (Func<A, B> x) => (Func<B, C> y) => (A z) => y(x(z))
- S = (Func<A, Func<B, C>> x) => (Func<A, B> y) => (A z) => x(z)(y(z))
- Y = (Func<Func<A, B>, A, B> f) => (A x) => f(Y(f), x)
- Combinators
- I <A> (A x)
- K <A, B> (A x)
- M <A> (Func<A, A> x)
- T <A, B> (A x)
- Q <A, B, C> (Func<A, B> x)
- S <A, B, C> (Func<A, B, C> x)
- Guard <E>
Sub modules
Class Instances |
Common |
Concurrency |
DataTypes |
Effects |
Exceptions |
Extensions |
Immutable Collections |
Lens |
Monads |
Prelude |
Pretty |
Prism |
Thunks |
Transformer |
Type Classes |
Units of Measure |
Utility |
struct CatchValue <A> Source #
constructor CatchValue (Func<Error, bool> match, Func<Error, A> value) Source #
struct CatchError Source #
constructor CatchError (Func<Error, bool> match, Func<Error, Error> value) Source #
class CombinatorsDynamic Source #
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 #
The Thrush dkeenan.com/Lambda/
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 #
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 #
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 #
The Thrush dkeenan.com/Lambda/
class Combinators <A, B, C> Source #
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 #
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 #
The Thrush dkeenan.com/Lambda/
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/