Top 7 C# Functional Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ObservableComputations
Cross-platform .NET library for computations whose arguments and results are objects that implement INotifyPropertyChanged and INotifyCollectionChanged (ObservableCollection) interfaces.
-
eagle
Eagle (Extensible Adaptable Generalized Logic Engine) is a scripting language that belongs to the Tcl family of languages. It is interpreted, dynamically typed, and cross-platform. It was designed to act as a "glue language" and integrate easily into existing systems written for the Common Language Runtime (CLR).
-
common-commons
A common set of C# extensions, models and helpers usually brought into personal projects of mine.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Using the Nuget Package Ardalis.Result for mapping result objects to HTTP Response Codes and associated objects; FastEndpoint has its own way of approaching this problem, which seems to be to hang everything off an "Endpoint" and optionally using Swagger to redundantly describe the route's behavior; this seems like a step backwards from more advanced Web frameworks in other languages. The advantage of Ardalis.Result should be clear - each closed form of Ardalis.Result can have its own knowledge of what it does, and therefore automatically describe the abstract transformations it does on a request. In functional programming, this "abstract transformation" is typically called a monad transformer or Arrow. Once you have a type that describes the abstract transformation, plugging that into Swagger should be straight-forward.
Project mention: Rolled my own Result<T,E> type that seems to work better than others. | /r/csharp | 2023-11-01BUT 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
The package and its source code can be found here:https://github.com/thed24/common-commons
C# Functional related posts
Index
What are some of the best open-source Functional projects in C#? This list will help you:
Project | Stars | |
---|---|---|
1 | Result | 744 |
2 | Towel | 700 |
3 | Orleankka | 486 |
4 | dunet | 472 |
5 | ObservableComputations | 108 |
6 | eagle | 11 |
7 | common-commons | 1 |
Sponsored