Saltar al contenido principal
ActivoC#Open SourceFunctional Programming

SharpMonads.Core

Librería ligera de mónadas para .NET: Option, Result, Either y Unit como readonly record struct, con sus leyes verificadas y cero dependencias. Nacida de DevSweep y destilada en un paquete de NuGet.

SharpMonads.Core es una librería ligera de mónadas para .NET, destilada del dominio de DevSweep. Hace explícitos el null y el error en el sistema de tipos, sin convertir tu proyecto entero a la programación funcional.

Qué incluye

  • Option<T> — un valor que puede estar o no estar, sin null.

  • Result<TValue, TError> — operaciones que pueden fallar, con el error en la firma.

  • Either<TLeft, TRight> — dos tipos posibles, right-biased.

  • Unit — el "void" que sí se puede componer.

Por qué

  • **readonly record struct**: composición funcional sin presión sobre el recolector de basura.

  • Leyes verificadas: las tres leyes monádicas testeadas con TUnit.

  • Azúcar de LINQ: from ... select sobre cualquier mónada.

  • Cero dependencias y C# idiomático.

Instalación

bash
dotnet add package SharpMonads.Core

Estadísticas

Último commit
2026-06-14
Licencia
MIT

Tech Stack

C#Open SourceFunctional Programming