MonadicTypes.NET.Linq
0.3.0-preview.2
dotnet add package MonadicTypes.NET.Linq --version 0.3.0-preview.2
NuGet\Install-Package MonadicTypes.NET.Linq -Version 0.3.0-preview.2
<PackageReference Include="MonadicTypes.NET.Linq" Version="0.3.0-preview.2" />
<PackageVersion Include="MonadicTypes.NET.Linq" Version="0.3.0-preview.2" />
<PackageReference Include="MonadicTypes.NET.Linq" />
paket add MonadicTypes.NET.Linq --version 0.3.0-preview.2
#r "nuget: MonadicTypes.NET.Linq, 0.3.0-preview.2"
#:package MonadicTypes.NET.Linq@0.3.0-preview.2
#addin nuget:?package=MonadicTypes.NET.Linq&version=0.3.0-preview.2&prerelease
#tool nuget:?package=MonadicTypes.NET.Linq&version=0.3.0-preview.2&prerelease
MonadicTypes.NET LINQ
Opt-in C# LINQ names and query-expression support for Result<T,E> and
Option<T>. The core package does not reference this assembly.
Install
dotnet add package MonadicTypes.NET.Linq --prerelease
Fluent Syntax
using MonadicTypes;
using MonadicTypes.Linq;
Result<Invoice, LoadError> invoice = LoadUser(id).SelectMany(
static user => LoadAccount(user.AccountId),
static (user, account) => new Invoice(user, account));
Option<UserView> active = optionalUser
.Where(static user => user.IsActive)
.Select(static user => new UserView(user.Id, user.Name));
Select maps the active value. SelectMany binds and projects two active
values. Option Where filters Some; Result intentionally has no Where because
a failed predicate needs an explicit error value.
Query Syntax
Result<Invoice, LoadError> invoice =
from user in LoadUser(id)
from account in LoadAccount(user.AccountId)
select new Invoice(user, account);
Both forms short-circuit Result failure and Option None. Operators do not catch callback exceptions, and uninitialized Results throw.
Fluent method syntax is recommended by default. Initial NativeAOT measurements
were 2.095 ns fluent versus 2.355 ns query syntax for Select, and
4.509 ns versus 4.952 ns for SelectMany. All rows allocated 0 B.
Apache-2.0. Developed with AI assistance.
Documented public members: 6
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- MonadicTypes.NET (>= 0.3.0-preview.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0-preview.2 | 39 | 9/12/2026 |
| 0.3.0-preview.1 | 44 | 9/12/2026 |
| 0.2.0-preview.2 | 73 | 8/30/2026 |
| 0.2.0-preview.1 | 74 | 8/17/2026 |