awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 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·5 views

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#.

Star history

Star history chart for vkhorikov/csharpfunctionalextensionsStar history chart for vkhorikov/csharpfunctionalextensions

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to CSharpFunctionalExtensions

Similar open-source projects, ranked by how many features they share with CSharpFunctionalExtensions.
  • dry-python/returnsdry-python avatar

    dry-python/returns

    4,310View on 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
    View on GitHub↗4,310
  • louthy/language-extlouthy avatar

    louthy/language-ext

    7,057View on 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#
    View on GitHub↗7,057
  • c3lang/c3cc3lang avatar

    c3lang/c3c

    5,147View on 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
    View on GitHub↗5,147
  • php-standard-library/php-standard-libraryphp-standard-library avatar

    php-standard-library/php-standard-library

    1,552View on GitHub↗

    The php-standard-library is a comprehensive toolkit for functional programming and asynchronous networking in PHP, featuring typed data structures, structured concurrency, and composable validation mechanisms. It provides explicit result types and pure collection transformers that separate lists from dictionaries, eliminating traditional array key confusion and error-throwing patterns. The library supports concurrent execution through lightweight user-space fibers, message-passing channels, and non-blocking event loops, driving asynchronous TCP, TLS, UDP, and Unix socket servers without relyi

    PHPansiasynccollection
    View on GitHub↗1,552
See all 30 alternatives to CSharpFunctionalExtensions→

Frequently asked questions

What does vkhorikov/csharpfunctionalextensions do?

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.

What are the main features of vkhorikov/csharpfunctionalextensions?

The main features of vkhorikov/csharpfunctionalextensions are: Functional Programming Libraries, Railway Oriented Programming, Result Patterns, Optional Containers, Extension Methods, Functional Programming Patterns, Functional Pipeline Composition, Error Handling Patterns.

What are some open-source alternatives to vkhorikov/csharpfunctionalextensions?

Open-source alternatives to vkhorikov/csharpfunctionalextensions include: 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… php-standard-library/php-standard-library — The php-standard-library is a comprehensive toolkit for functional programming and asynchronous networking in PHP,… 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…