awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
vkhorikov avatar

vkhorikov/CSharpFunctionalExtensions

0
View on GitHub↗
2,777 stars·317 forks·C#·mit·4 vues

CSharpFunctionalExtensions

CSharpFunctionalExtensions is a functional programming library for C# that provides a framework of monadic containers, pipeline orchestration tools, and immutable domain object patterns. It implements the result pattern to handle operation success and failure as values, reducing the reliance on exceptions for control flow.

The library enables railway-oriented programming by chaining multiple operations into sequences that execute only upon the success of previous steps. It provides specialized wrappers for optional and result types to minimize null checks and nested conditional logic, alongside a base implementation for creating immutable value objects defined by their properties.

The project covers a broad range of functional capabilities, including the aggregation of multiple independent operation outcomes, collection filtering for optional types, and the mapping of functional states to standard HTTP responses for web interfaces. It also includes mechanisms for wrapping functional chains within atomic transactions.

Features

  • Functional Programming Libraries - Implements functional programming patterns like Result and Option as a library for the C# language.
  • Railway Oriented Programming - Implements the railway-oriented programming pattern to chain operations into success and failure tracks.
  • Result Patterns - A framework for handling operation success and failure as values instead of using exceptions for control flow.
  • Optional Containers - Uses optional containers to handle missing values without relying on null checks.
  • Extension Methods - Implements functional operators as C# extension methods to enable declarative operation chaining.
  • Functional Programming Patterns - Applies functional programming patterns to C# to make logic more predictable and reduce side effects.
  • Functional Pipeline Composition - Enables the composition of execution pipelines where subsequent steps depend on the success of previous ones.
  • Error Handling Patterns - Treats errors as explicit return values to avoid exception-based control flow.
  • Monadic Error Handling - Uses monadic container types to manage operation failures as values instead of throwing exceptions.
  • Monadic Containers - Provides monadic containers like Option and Result to wrap values and manage computational effects.
  • Sequence Pipelines - Implements a railway-oriented pipeline that chains operations and executes only upon the success of previous steps.
  • Value Objects - Implements immutable value objects defined by their properties to ensure domain state consistency.
  • Optional Value Types - Implements data structures that represent values that may be absent to prevent null-pointer errors.
  • Result-Type Integration - Integrates result types into the type system to explicitly signify success or failure.
  • Result Aggregators - Combines multiple independent outcome containers into a single aggregated result based on collective success.
  • Monadic Query Syntax - Allows chaining multiple operations using query syntax to reduce nested conditionals for result types.
  • Domain-Driven Designs - Provides patterns for aligning software architecture with complex business domains through immutable value objects.
  • Task Result Aggregation - Aggregates multiple operation outcomes into a single unified result structure.
  • Functional Programming - Core functional programming extensions for C#.

Historique des stars

Graphique de l'historique des stars pour vkhorikov/csharpfunctionalextensionsGraphique de l'historique des stars pour vkhorikov/csharpfunctionalextensions

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait vkhorikov/csharpfunctionalextensions ?

CSharpFunctionalExtensions is a functional programming library for C# that provides a framework of monadic containers, pipeline orchestration tools, and immutable domain object patterns. It implements the result pattern to handle operation success and failure as values, reducing the reliance on exceptions for control flow.

Quelles sont les fonctionnalités principales de vkhorikov/csharpfunctionalextensions ?

Les fonctionnalités principales de vkhorikov/csharpfunctionalextensions sont : Functional Programming Libraries, Railway Oriented Programming, Result Patterns, Optional Containers, Extension Methods, Functional Programming Patterns, Functional Pipeline Composition, Error Handling Patterns.

Quelles sont les alternatives open-source à vkhorikov/csharpfunctionalextensions ?

Les alternatives open-source à vkhorikov/csharpfunctionalextensions incluent : dry-python/returns — Returns is a functional programming library for Python that provides type-safe containers for managing state, error… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… sairyss/domain-driven-hexagon — This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal… arrow-kt/arrow — Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming… supermacro/neverthrow — neverthrow is a TypeScript result type library that implements railway oriented programming. It provides a functional…

Alternatives open source à CSharpFunctionalExtensions

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec CSharpFunctionalExtensions.
  • dry-python/returnsAvatar de dry-python

    dry-python/returns

    4,310Voir sur GitHub↗

    Returns is a functional programming library for Python that provides type-safe containers for managing state, error handling, and optionality. It serves as a monadic container library and a type-safe error handling framework, replacing traditional try-catch blocks and null checks with Result and Optional containers to treat exceptions as data. The project is distinguished by its use of a specialized Mypy static analysis plugin to validate functional pipelines and emulate higher kinded types. It provides mechanisms for isolating side effects through IO containers and offers a framework for typ

    Python
    Voir sur GitHub↗4,310
  • louthy/language-extAvatar de louthy

    louthy/language-ext

    7,057Voir sur GitHub↗

    language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution

    C#
    Voir sur GitHub↗7,057
  • c3lang/c3cAvatar de c3lang

    c3lang/c3c

    5,147Voir sur GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    Voir sur GitHub↗5,147
  • sairyss/domain-driven-hexagonAvatar de Sairyss

    Sairyss/domain-driven-hexagon

    14,395Voir sur GitHub↗

    This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat

    TypeScriptarchitectural-patternsarchitecturebackend
    Voir sur GitHub↗14,395
  • Voir les 30 alternatives à CSharpFunctionalExtensions→