dunet
func
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.
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
func
-
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
What are some alternatives?
OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching
Funk - Functional programming library for C#
csharp-combinators - Experiments to understand and find practical use cases for combinators.
language-ext - C# functional language extensions - a base class library for functional programming
csharplang - The official repo for the design of the C# programming language
plato - A simple and efficient cross-platform programming language.
ZeroQL - C# GraphQL client with Linq-like syntax
JFlepp.Maybe - A Maybe type for C#, aimed as an idiomatic port of the option type in F# to C#
Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
mapperly - A .NET source generator for generating object mappings. No runtime reflection.