csharp-combinators
dunet
csharp-combinators | dunet | |
---|---|---|
1 | 3 | |
1 | 476 | |
- | - | |
0.0 | 8.5 | |
about 3 years ago | 19 days ago | |
C# | C# | |
Creative Commons Zero v1.0 Universal | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
csharp-combinators
-
The C-Combinator isn't so useless
Very neat article. For anyone interested in more, the author has posted their other c# combinator experiments at: csharp-combinators/Combinator.cs at master ยท mr-rampage/csharp-combinators (github.com)
dunet
-
Rolled my own Result<T,E> type that seems to work better than others.
BUT It is possible to implement it in a pretty good way. The main issue with the majority of existing libraries is that they're not able to guarantee that Error variant matching is exhaustive. Thus I'd recommend the usage of code generators libraries (https://github.com/domn1995/dunet looks like a good choice to start with) to build Result and Error(s) unions in a proper way
-
How do you live without tagged union types?
Or use something like dunet https://github.com/domn1995/dunet
- Dunet: C# discriminated union source generator
What are some alternatives?
language-ext - C# functional language extensions - a base class library for functional programming
OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching
Funk - Functional programming library for C#
csharplang - The official repo for the design of the C# programming language
Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
ZeroQL - C# GraphQL client with Linq-like syntax
plato - A simple and efficient cross-platform programming language.
func - Library to extend C#'s functional programming capabilities
mapperly - A .NET source generator for generating object mappings. No runtime reflection.
stronginject - compile time dependency injection for .NET