func
Library to extend C#'s functional programming capabilities (by awsxdr)
dunet
C# discriminated union source generator (by domn1995)
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
func
Posts with mentions or reviews of func.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-03-14.
-
My thoughts on TDD
A friend of mine wrote this https://github.com/awsxdr/func (look at the examples in the readme), now some of that might be intimidating but check out options https://github.com/awsxdr/func#options and https://github.com/awsxdr/func#railway-oriented-programming-result and you will get a better idea of what I'm talking about. :)
-
F# career advice
Instead a friend of mine I work with has written this https://github.com/awsxdr/func we use it in work on our API in eliminating null from the domain. Anyway I know I can get a pull request in easy as well if I want something changed
dunet
Posts with mentions or reviews of dunet.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-11-01.
-
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?
When comparing func and dunet you can also consider the following projects:
Funk - Functional programming library for C#
OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching
language-ext - C# functional language extensions - a base class library for functional programming
csharp-combinators - Experiments to understand and find practical use cases for combinators.
plato - A simple and efficient cross-platform programming language.
csharplang - The official repo for the design of the C# programming language
JFlepp.Maybe - A Maybe type for C#, aimed as an idiomatic port of the option type in F# to C#
ZeroQL - C# GraphQL client with Linq-like syntax