Abusing await with a result type to achieve rust-like error propagation in C#
Rust allows you to propagate errors automatically with the ? keyword, short-circuiting the methods execution and returning the error. Previously, we attempted to modify the IL to propagate errors with...
Nested Monads: Composing Monads in Functional Programming
Nested monads enable the composition of monads in such a way that the resulting composition is also a monad. This article explores the concept of nesting monads, discussing how certain monads can be s...
Function Composition and Currying In Python
Function composition and currying are features of functional programming languages that can be very convenient in some situations. Composition is when you apply multiple functions one after the other ...
GitHub - domn1995/dunet: C# discriminated union source generator
GitHub - domn1995/dunet: C# discriminated union source generator. Skip to content. Toggle navigation. Sign up. Product. Actions. Automate any workflow. Packages. Host and manage packages. Security. Fi...
Effect: Next-Generation Typescript

Ethan introduces a TypeScript library in this video that aims to make it easier for developers to create complex applications. He acknowledges the flaws in JavaScript and the challenges it presents, e...
Awesome Functional Python
This curated list contains an impressive array of resources related to functional programming in Python, including official documentation, free and non-free books, talks, libraries, and languages. The...
Vogen: .NET Source Generator and Analyzer for Value Objects
Vogen is a .NET Source Generator and analyzer that helps turn primitives into Value Objects, such as CustomerId and AccountBalance, which represent domain concepts. It generates strongly-typed domain ...
[LDM] - Union Types · dotnet/csharplang · Discussion #7010 · GitHub
This is a summary of discussions held on discriminated unions in C# by members of the C# language design team. Union types are types where instances represent a single case from a closed set of possib...
C# Discriminated Union Source Generator
This GitHub repository contains a C# discriminated union source generator designed to simplify code and reduce manual programming errors. With 225 stars and 8 forks, the repository is licensed under t...
Building Functional .NET Applications: a Guide for Choosing between F# vs C#
This article investigates which of C# and F#, languages with growing user bases, does the best job for developers looking to put functional programming in place for their teams and projects. C# relies...
Contravariant functors as invariant functors
This article is part of a series of articles about invariant functors. It explains that all contravariant functors are also invariant functors, even if thats of no practical use. The article shows a f...
The functional journey of C# - Mads Torgersen - NDC Copenhagen 2022

The speaker, who works on the C Sharp language for Microsoft, gives a talk on the evolution of C Sharp 1 through 10, examining how functional programming has influenced it over the years. He notes tha...
Functional Programming with C# - Simon Painter - NDC Porto 2022

The speaker introduces himself as having worked in various industries, including for Muller Dairies, and as being a film fan with no agenda. He then delves into the history of functional programming, ...
Union Types in C# - Effectively Composing Your Business Logic
In this article, Oskar Dudycz discusses explicit types definition and how it can help make codebases closer to the business domain, more predictable and secure. He explains the lack of support for (di...
Returns - Make your functions return something meaningful, typed, and safe!
Returns is a Python package that brings functional programming to Python and provides a bunch of primitives to write declarative business logic while enforcing better architecture. It is fully typed w...
Awesome Software Architecture
This is a comprehensive guide to software architecture, covering a wide range of topics including Actor Model Architecture, Akka .NET, Orleans, Protoactor, Clean Architecture, Onion Architecture, Hexa...