280 packages tagged with “monad”
Optional is a robust option/maybe type for C#.
This library uses and abuses the features of C# to provide a functional 'Base class library', that, if you squint, can look like extensions to the language itself.
Helper library for LanguageExt.Core that facilitates conversion between F# native types like Option, Map, List, etc to .NET and Language Ext types.
Parser combinators library based on Haskell Parsec. This is part of the LanguageExt functional base class library and requires LanguageExt.Core
A complete and extensible base library for F#.
Support for Reactive Extensions overloads for various types in the LanguageExt.Core
Async extensions for Nils Lück's Optional library.
A basic implementation of a descriptive algebraic data type for C#.
FSharpx is a library for the .NET platform implementing general functional constructs on top of the F# core library. Its main target is F# but it aims to be compatible with all .NET languages wherever possible. It currently implements: * Several standard monads: State, Reader, Writer, Either, Continuation, Distribution * Iteratee * Purely functional data structures: Queues, double-ended Queues, BottomUpMergeSort, RandomAccessList, Vector, RoseTree, BKTree * Validation applicative functor * General functions like flip * Additional functions around collections * Functions to make C# - F# interop easier.
Maybe/Optional monad implementation for C#. For more information see http://csharp-functional.readthedocs.io/en/latest/maybe-monad.html.
Http Result monad for C#. In its core this monad enhances a type by adding a success/failure status and an http state. This type is meant to be used by operations that do Http calls. For more information see http://csharp-functional.readthedocs.io/en/latest/http-result-monad.html.
This package provides a set of extensions to FluentAssertions to simplify the testing of project using CSharpFunctionalExtensions
DEPRECATED: Optional.Extensions has been replaced by more specific packages. Check out Optional.Collections, Optional.Utilities etc. Extended functionality for Optional.
Simple application of HttpResult monad by using System.Net.Http.HttpClient. For more information see http://csharp-functional.readthedocs.io/en/latest/http-result-monad.html#httpresult-monads-how-to.
Easy to use extensible expression evaluator built on top of Sprache parser library. Compiles expressions to native code for best performance. Supports custom functions and parameters.
Functions like MapT, BindT, ForAllT, etc. for the nested monadic type extensions (i.e. `Seq<Option>`
Result monad for C#. In its core this monad enhances a type by adding a success/failure status. For more information see http://csharp-functional.readthedocs.io/en/latest/result-monad.html.
ExtCore provides extensions to the F# core library (FSharp.Core) and aims to help you build industrial-strength F# applications. These extensions include additional functions for modules such as Array, List, Set, and Map; immutable IntSet, IntMap, LazyList, and Queue collections; a variety of computation expressions (workflows); and "workflow collections" -- collections modules which have been adapted to work seamlessly from within workflows.
C# Monad Library
FsControl is an overload library for F#.
Funcky is a functional C# library
.NET library that provide mainly functional features for C#. This means concept of Option, Result, Either and ValueObject. Supported platforms: - .NET Standard 1.0+ - .NET Core 1.0+ - .NET Framework 2.0+ Supports Source Link
Various useful functionality for Optional.
Provides a class and a few extension methods to facilitate common operations with values that may or may not exist. Traditionally, programmers often use `null` references to represent values that "aren't there", but the problem is that this was never their intended purpose. - Languages like C# don't provide a way to differentiate between reference variables that can be null and those that are guaranteed not to be. - The inventor of null references has [apologized](http://en.wikipedia.org/wiki/Tony_Hoare#Quotations) for creating them in the first place, calling them his "billion-dollar mistake." - This misuse of null references has spread far and wide, leading to the unfortunately-named `Nullable<>` type (which, being a value type, is never actually null), and attributes like `[CanBeNull]` and `[NotNull]` to help programmers know when they can expect a method to treat a null value as legitimate input. All this leaves us in a position where our best hope of avoiding `NullReferenceException`s lies in trying to make sure that our reference variables are *never* null. But in that case, how do we indicate when a value is *optional*? Well, that's where `Maybe<>` comes in.
Useful Optional extensions for working with collections.
A library providing optional/Maybe functionality for .NET
Package Description
C# Maybe monad
Implementation of option type based on pattern matching