LanguageExt.Rx 5.0.0-beta-51

This is a prerelease version of LanguageExt.Rx.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package LanguageExt.Rx --version 5.0.0-beta-51
                    
NuGet\Install-Package LanguageExt.Rx -Version 5.0.0-beta-51
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LanguageExt.Rx" Version="5.0.0-beta-51" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LanguageExt.Rx" Version="5.0.0-beta-51" />
                    
Directory.Packages.props
<PackageReference Include="LanguageExt.Rx" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LanguageExt.Rx --version 5.0.0-beta-51
                    
#r "nuget: LanguageExt.Rx, 5.0.0-beta-51"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LanguageExt.Rx@5.0.0-beta-51
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LanguageExt.Rx&version=5.0.0-beta-51&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=LanguageExt.Rx&version=5.0.0-beta-51&prerelease
                    
Install as a Cake Tool

LanguageExt.Rx

LanguageExt.Rx are the 'Reactive Extensions' extensions for the language-ext functional programming framework.

The framework uses and abuses the features of C# to provide a pure functional-programming 'Base Class Library' that, if you squint, can look like extensions to the language itself. The desire here is to make programming in C# much more robust by helping the engineer's inertia flow in the direction of declarative and pure functional code rather than imperative.

Using these techniques for large code-bases can bring tangible benefits to long-term maintenance by removing hidden complexity and by easing the engineer's cognitive load.

Features

Functional effects and IO

Location Feature Description
Core IO<A> A synchronous and asynchronous side-effect: an IO monad
Core Eff<A> A synchronous and asynchronous side-effect with error handling
Core Eff<RT, A> Same as Eff<A> but with an injectable runtime for dependency-injection: a unit testable IO monad
Core Pipes A clean and powerful stream processing system that lets you build and connect reusable streaming components
Core StreamT less powerful (than Pipes), but easier to use streaming effects transformer

Atomic concurrency and collections

Location Feature Description
Core Atom<A> A lock-free atomically mutable reference for working with shared state
Core Ref<A> An atomic reference to be used in the transactional memory system
Core AtomHashMap<K, V> An immutable HashMap with a lock-free atomically mutable reference
Core AtomSeq<A> An immutable Seq with a lock-free atomically mutable reference
Core VectorClock<A> Understand distributed causality
Core VersionVector<A> A vector clock with some versioned data
Core VersionHashMap <ConflictV, K, V> Distrubuted atomic versioning of keys in a hash-map

Immutable collections

Location Feature Description
Core Arr<A> Immutable array
Core Seq<A> Lazy immutable list, evaluate at-most-once - very, very fast!
Core Iterable<A> Wrapper around IEnumerable with support for traits - enables the higher-kinded traits to work with enumerables.
Core Lst<A> Immutable list - use Seq over Lst unless you need InsertAt
Core Map<K, V> Immutable map
Core Map<OrdK, K, V> Immutable map with Ord constraint on K
Core HashMap<K, V> Immutable hash-map
Core HashMap<EqK, K, V> Immutable hash-map with Eq constraint on K
Core Set<A> Immutable set
Core Set<OrdA, A> Immutable set with Ord constraint on A
Core HashSet<A> Immutable hash-set
Core HashSet<EqA, A> Immutable hash-set with Eq constraint on A
Core Que<A> Immutable queue
Core Stck<A> Immutable stack

Optional and alternative value monads

Location Feature Description
Core Option<A> Option monad
Core OptionT<M, A> Option monad-transformer
Core Either<L,R> Right/Left choice monad
Core EitherT<L, M, R> Right/Left choice monad-transformer
Core Fin<A> Error handling monad, like Either<Error, A>
Core FinT<M, A> Error handling monad-transformer
Core Try<A> Exception handling monad
Core TryT<M, A> Exception handling monad-transformer
Core Validation<FAIL ,SUCCESS> Validation applicative and monad for collecting multiple errors before aborting an operation
Core ValidationT<FAIL, M, SUCCESS> Validation applicative and monad-transformer

State managing monads

Location Feature Description
Core Reader<E, A> Reader monad
Core ReaderT<E, M, A> Reader monad-transformer
Core Writer<W, A> Writer monad that logs to a W constrained to be a Monoid
Core WriterT<W, M, A> Writer monad-transformer
Core State<S, A> State monad
Core StateT<S, M, A> State monad-transformer

Parser combinators

Location Feature Description
Parsec Parser<A> String parser monad and full parser combinators library
Parsec Parser<I, O> Parser monad that can work with any input stream type

Pretty

Location Feature Description
Core Doc<A> Produce nicely formatted text with smart layouts

Differencing

Location Feature Description
Core Patch<EqA, A> Uses patch-theory to efficiently calculate the difference (Patch.diff(list1, list2)) between two collections of A and build a patch which can be applied (Patch.apply(patch, list)) to one to make the other (think git diff).

Traits

The traits are major feature of v5+ language-ext that makes generic programming with higher-kinds a reality. Check out Paul's series on Higher Kinds to get a deeper insight.

Location Feature Description
Core MonoidK<F> A monoid on applicative functors
Core Applicative<F> Applicative functor
Core Eq<A> Ad-hoc equality trait
Core Fallible<F> Trait that describes types that can fail
Core Foldable<T> Aggregation over a structure
Core Functor<F> Functor Map
Core Has<M, TRAIT> Used in runtimes to enable DI-like capabilities
Core Hashable<A> Ad-hoc has-a-hash-code trait
Core Local<M, E> Creates a local environment to run a computation
Core Monad<M> Monad trait
Core MonadT<M, N> Monad transformer trait
Core Monoid<A> A monoid is a type with an identity Empty and an associative binary operation +
Core MonoidK<M> Equivalent of monoids for working on higher-kinded types
Core Mutates<M, OUTER_STATE, INNER_STATE> Used in runtimes to enable stateful operations
Core Ord<A> Ad-hoc ordering / comparisons
Core Range<SELF, NumOrdA, A> Abstraction of a range of values
Core Readable<M, Env> Generalised Reader monad abstraction
Core SemigroupK<F> A semigroup on functors
Core Semigroup<A> Provides an associative binary operation +
Core SemigroupK<M> Equivalent of semigroups for working with higher-kinded types
Core Stateful<M, S> Generalised State monad abstraction
Core Traversable<T> Traversable structures support element-wise sequencing of Applicative effects
Core Writable<M, W> Generalised Writer monad abstraction

Value traits

These work a little like NewType but they impart semantic meaning and some common operators for the underlying value.

Location Feature Description
Core DomainType<SELF, REPR> Provides a mapping from SELF to an underlying representation: REPR
Core Identifier <SELF> Identifiers (like IDs in databases: PersonId for example), they are equivalent to DomaintType with equality.
Core VectorSpace<SELF, SCALAR> Scalable values; can add and subtract self, but can only multiply and divide by a scalar. Can also negate.
Core Amount <SELF, SCALAR> Quantities, such as the amount of money in USD on a bank account or a file size in bytes. Derives VectorSpace, IdentifierLike, DomainType, and is orderable (comparable).
Core LocusLike <SELF, SCALAR, DISTANCE> Works with space-like structures. Spaces have absolute and relative distances. Has an origin/zero point and derives DomainType, IdentifierLike, AmountLike and VectorSpace. DISTANCE must also be an AmountLike<SELF, REPR, SCALAR>.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on LanguageExt.Rx:

Package Downloads
RezisFramework

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.0-beta-77 281 12/30/2025
5.0.0-beta-76 87 12/30/2025
5.0.0-beta-75 89 12/29/2025
5.0.0-beta-74 98 12/28/2025
5.0.0-beta-73 84 12/28/2025
5.0.0-beta-72 90 12/28/2025
5.0.0-beta-71 149 12/26/2025
5.0.0-beta-70 132 12/26/2025
5.0.0-beta-69 127 12/26/2025
5.0.0-beta-68 138 12/26/2025
5.0.0-beta-67 137 12/26/2025
5.0.0-beta-66 142 12/26/2025
5.0.0-beta-65 194 12/25/2025
5.0.0-beta-64 180 12/25/2025
5.0.0-beta-63 166 12/20/2025
5.0.0-beta-62 252 12/19/2025
5.0.0-beta-61 391 12/17/2025
5.0.0-beta-60 260 12/17/2025
5.0.0-beta-59 626 12/8/2025
5.0.0-beta-58 291 12/4/2025
5.0.0-beta-57 1,505 11/14/2025
5.0.0-beta-56 284 11/13/2025
5.0.0-beta-55 330 11/12/2025
5.0.0-beta-54 2,855 5/8/2025
5.0.0-beta-53 202 5/7/2025
5.0.0-beta-52 205 4/30/2025
5.0.0-beta-51 243 4/23/2025
5.0.0-beta-50 215 4/7/2025
5.0.0-beta-49 500 2/15/2025
5.0.0-beta-48 175 2/14/2025
5.0.0-beta-47 164 2/10/2025
5.0.0-beta-46 182 2/1/2025
5.0.0-beta-45 409 12/27/2024
5.0.0-beta-44 149 12/25/2024
5.0.0-beta-43 151 12/23/2024
5.0.0-beta-42 146 12/19/2024
5.0.0-beta-41 187 12/19/2024
5.0.0-beta-40 172 12/17/2024
5.0.0-beta-39 916 11/27/2024
5.0.0-beta-38 198 11/18/2024
5.0.0-beta-36 171 11/6/2024
5.0.0-beta-35 149 11/6/2024
5.0.0-beta-34 165 10/28/2024
5.0.0-beta-33 180 10/27/2024
5.0.0-beta-32 174 10/27/2024
5.0.0-beta-31 145 10/25/2024
5.0.0-beta-30 168 10/25/2024
5.0.0-beta-29 155 10/22/2024
5.0.0-beta-28 153 10/17/2024
5.0.0-beta-27 303 10/16/2024
5.0.0-beta-26 171 10/13/2024
5.0.0-beta-25 148 10/13/2024
5.0.0-beta-24 197 10/11/2024
5.0.0-beta-23 156 10/10/2024
5.0.0-beta-22 173 9/20/2024
5.0.0-beta-21 148 9/20/2024
5.0.0-beta-20 189 9/18/2024
5.0.0-beta-19 150 9/18/2024
5.0.0-beta-18 193 9/16/2024
5.0.0-beta-17 156 9/16/2024
5.0.0-beta-16 164 9/16/2024
5.0.0-beta-15 183 9/16/2024
5.0.0-beta-14 164 9/5/2024
5.0.0-beta-13 191 9/5/2024
5.0.0-beta-12 188 9/4/2024
5.0.0-beta-11 172 9/2/2024
5.0.0-beta-10 185 8/18/2024
5.0.0-beta-09 173 8/18/2024
5.0.0-beta-08 208 8/16/2024
5.0.0-beta-07 196 8/7/2024
5.0.0-beta-06 122 8/4/2024
5.0.0-beta-05 149 8/3/2024
5.0.0-beta-04 157 7/30/2024
5.0.0-beta-03 153 7/29/2024
5.0.0-beta-02 148 7/28/2024
5.0.0-beta-01 200 6/26/2024
5.0.0-alpha.11 131 5/24/2024
5.0.0-alpha.10 108 5/16/2024
5.0.0-alpha.7 124 5/12/2024
5.0.0-alpha.6 127 4/16/2024
5.0.0-alpha.5 129 3/24/2024
5.0.0-alpha.3 101 3/23/2024
5.0.0-alpha.2 138 3/19/2024
5.0.0-alpha.1 130 3/4/2024
4.4.9 35,848 6/26/2024
4.4.8 22,080 2/7/2024
4.4.7 27,910 10/21/2023
4.4.6 20,767 10/1/2023
4.4.5 20,192 9/21/2023
4.4.4 20,420 9/7/2023
4.4.3 23,088 4/14/2023
4.4.2 21,440 2/5/2023
4.4.1 20,676 2/4/2023
4.4.0 21,391 11/16/2022
4.3.2-beta 1,106 6/29/2022
4.3.1-beta 438 6/28/2022
4.3.0-beta 457 6/28/2022
4.2.9 21,496 6/27/2022
4.2.8 20,493 6/27/2022
4.2.7 20,505 6/16/2022
4.2.6 20,479 6/16/2022
4.2.5 20,456 6/15/2022
4.2.2 20,581 6/7/2022
4.2.1 20,509 6/4/2022
4.2.0 20,508 6/4/2022
4.1.1 21,135 5/20/2022
4.1.0 20,683 5/10/2022
4.0.10-beta 455 5/4/2022
4.0.9-beta 451 5/2/2022
4.0.8-beta 503 3/15/2022
4.0.7-beta 434 3/9/2022
4.0.6-beta 475 3/9/2022
4.0.5-beta 501 3/9/2022
4.0.4 20,567 3/7/2022
4.0.3 26,912 10/21/2021
4.0.2 21,822 10/20/2021
4.0.1 20,444 10/20/2021
4.0.0 20,569 10/17/2021
3.5.69-beta 631 10/17/2021
3.5.68-beta 626 10/16/2021
3.5.67-beta 611 10/16/2021
3.5.66-beta 529 10/16/2021
3.5.65-beta 487 10/14/2021
3.5.64-beta 524 10/9/2021
3.5.63-beta 573 10/9/2021
3.5.62-beta 525 9/29/2021
3.5.61-beta 581 9/28/2021
3.5.60-beta 516 9/28/2021
3.5.59-beta 535 9/21/2021
3.5.58-beta 493 9/20/2021
3.5.57-beta 529 9/19/2021
3.5.56-beta 615 9/19/2021
3.5.55-beta 534 9/19/2021
3.5.54-beta 579 9/11/2021
3.5.53-beta 568 8/15/2021
3.5.52-beta 494 8/15/2021
3.5.51-beta 510 8/12/2021
3.5.50-beta 582 7/28/2021
3.5.49-beta 592 7/28/2021
3.5.48-beta 493 7/27/2021
3.5.46-beta 596 7/22/2021
3.5.45-beta 548 7/21/2021
3.5.44-beta 536 7/19/2021
3.5.43-beta 579 7/18/2021
3.5.42-beta 559 7/18/2021
3.5.41-beta 510 7/18/2021
3.5.40-beta 578 7/18/2021
3.5.39-beta 575 7/18/2021
3.5.38-beta 531 7/16/2021
3.5.37-beta 575 7/7/2021
3.5.36-beta 550 7/7/2021
3.5.35-beta 552 7/6/2021
3.5.34-beta 568 7/6/2021
3.5.33-beta 551 7/5/2021
3.5.32-beta 578 7/5/2021
3.5.31-beta 562 7/5/2021
3.5.30-beta 512 7/5/2021
3.5.28-beta 618 6/24/2021
3.5.27-beta 674 3/14/2021
3.5.26-beta 550 2/26/2021
3.5.25-beta 589 2/18/2021
3.5.24-beta 811 11/5/2020
3.5.23-beta 650 11/4/2020
3.5.22-beta 657 11/2/2020
3.5.20-beta 690 9/25/2020
3.5.19-beta 664 9/21/2020
3.5.18-beta 659 9/17/2020
3.5.17-beta 691 9/16/2020
3.5.16-beta 671 9/10/2020
3.5.15-beta 713 8/31/2020
3.5.14-beta 650 8/24/2020
3.5.13-beta 667 8/21/2020
3.5.12-beta 646 8/20/2020
3.5.11-beta 644 8/19/2020
3.5.10-beta 671 8/17/2020
3.5.9-beta 755 8/16/2020
3.5.8-beta 730 8/14/2020
3.5.7-beta 694 8/14/2020
3.5.6-beta 756 8/13/2020
3.5.5-beta 767 8/12/2020
3.5.4-beta 694 8/10/2020
3.5.3-beta 670 7/31/2020
3.5.2-beta 671 7/31/2020
3.5.1-beta 669 7/21/2020
3.5.0-beta 669 7/20/2020
3.4.27-beta 717 7/13/2020
3.4.26-beta 720 7/8/2020
3.4.25-beta 682 7/8/2020
3.4.24-beta 711 6/19/2020
3.4.23-beta 715 6/12/2020
3.4.22-beta 660 6/11/2020
3.4.21-beta 677 6/8/2020
3.4.20-beta 796 3/13/2020
3.4.19-beta 735 3/11/2020
3.4.18-beta 703 3/9/2020
3.4.17-beta 793 3/7/2020
3.4.16-beta 720 3/7/2020
3.4.15 41,106 5/14/2020
3.4.15-beta 685 3/5/2020
3.4.14 20,852 5/5/2020
3.4.14-beta 737 3/5/2020
3.4.13 20,896 3/23/2020
3.4.12 22,484 2/28/2020
3.4.11 20,887 2/27/2020
3.4.10 20,660 2/18/2020
3.4.2 20,808 2/13/2020
3.4.1 20,826 2/13/2020
3.4.0 20,674 2/12/2020
3.3.51 20,944 1/31/2020
3.3.50 20,686 1/27/2020
3.3.49 20,905 1/12/2020
3.3.48 46,064 1/3/2020
3.3.47 20,912 12/31/2019
3.3.46 20,860 12/16/2019
3.3.45 20,938 12/11/2019
3.3.44 20,905 12/10/2019
3.3.43 20,927 12/10/2019
3.3.42 20,891 12/10/2019
3.3.41 22,679 11/28/2019
3.3.40 21,612 11/25/2019
3.3.39 20,869 11/10/2019
3.3.38 20,853 11/10/2019
3.3.37 20,839 11/10/2019
3.3.36 20,881 11/10/2019
3.3.35 20,816 11/10/2019
3.3.34 20,807 11/10/2019
3.3.33 23,006 11/9/2019
3.3.32 20,892 11/9/2019
3.3.31 20,877 11/9/2019
3.3.30 20,908 11/8/2019
3.3.29 21,214 10/17/2019
3.3.28 40,358 9/28/2019
3.3.27 20,889 9/28/2019
3.3.26 20,904 9/21/2019
3.3.25-beta 772 9/18/2019
3.3.24 20,881 9/18/2019
3.3.23 20,915 9/17/2019
3.3.22 20,883 9/17/2019
3.3.21 20,903 9/15/2019
3.3.20 20,884 9/7/2019
3.3.19 20,719 8/21/2019
3.3.18 20,879 8/21/2019
3.3.17 20,893 8/20/2019
3.3.16 20,866 8/18/2019
3.3.15 20,887 8/18/2019
3.3.14 20,865 8/18/2019
3.3.13 20,843 8/16/2019
3.3.12 20,901 8/16/2019
3.3.11 20,898 8/15/2019
3.3.10 20,922 8/14/2019
3.3.9 21,373 8/14/2019
3.3.8 20,712 8/12/2019
3.3.7 20,950 8/7/2019
3.3.6 20,924 8/7/2019
3.3.5 20,938 8/5/2019
3.3.4 20,949 7/30/2019
3.3.3 20,946 7/24/2019
3.3.2 20,946 7/17/2019
3.3.1 20,934 7/17/2019
3.3.0 20,732 7/17/2019
3.2.14-beta 739 7/16/2019
3.2.13-beta 762 7/16/2019
3.2.12-beta 778 7/16/2019
3.2.11-beta 734 7/16/2019
3.2.10-beta 805 7/16/2019
3.2.9-beta 787 7/16/2019
3.2.8-beta 710 7/15/2019
3.2.7-beta 750 7/15/2019
3.2.6-beta 720 7/14/2019
3.2.5-beta 720 6/24/2019
3.2.4-beta 733 6/24/2019
3.2.3-beta 728 6/23/2019
3.2.2-beta 769 6/23/2019
3.2.1-beta 759 6/22/2019
3.2.0-beta 772 6/20/2019
3.1.24 21,141 5/15/2019
3.1.23 21,117 5/8/2019
3.1.22 20,919 5/7/2019
3.1.21 20,952 5/1/2019
3.1.20 20,944 5/1/2019
3.1.19 20,762 4/19/2019
3.1.18 20,939 4/12/2019
3.1.17 20,794 4/12/2019
3.1.16 20,742 4/11/2019
3.1.15 40,675 2/8/2019
3.1.14 21,191 12/7/2018
3.1.13 21,093 11/10/2018
3.1.12 21,138 11/1/2018
3.1.11 21,119 10/31/2018
3.1.10 21,120 10/31/2018
3.1.9-beta 913 10/30/2018
3.1.8-beta 910 10/25/2018
3.1.7-beta 922 10/24/2018
3.1.6-beta 977 10/22/2018
3.1.5-beta 897 10/22/2018
3.1.4-beta 915 10/19/2018
3.1.3-beta 942 10/18/2018
3.1.2-beta 962 10/18/2018
3.1.1-beta 937 10/17/2018
3.1.0-beta 914 10/17/2018
3.0.31 21,174 10/10/2018
3.0.30 21,126 10/9/2018
3.0.29 21,198 10/3/2018
3.0.28 21,197 10/1/2018
3.0.27 21,156 10/1/2018
3.0.26 21,149 9/24/2018
3.0.25 21,152 9/24/2018
3.0.24 21,157 9/19/2018
3.0.23 20,975 9/19/2018
3.0.22 21,443 8/8/2018
3.0.21 21,342 8/8/2018
3.0.20 21,378 7/22/2018
3.0.19 21,548 7/4/2018
3.0.18 21,518 6/26/2018
3.0.17 21,561 6/20/2018
3.0.16 21,595 6/13/2018
3.0.15 21,594 6/13/2018
3.0.14 21,377 6/11/2018
3.0.13 21,618 6/5/2018
3.0.12 21,590 6/5/2018
3.0.11 21,571 6/5/2018
3.0.10 21,557 6/5/2018
3.0.9 21,427 6/5/2018
3.0.8 21,323 6/4/2018
3.0.7 21,309 6/4/2018
3.0.6 21,325 6/4/2018
3.0.5 21,390 6/4/2018