Suave.IO
OneOf
Suave.IO | OneOf | |
---|---|---|
5 | 25 | |
1,311 | 3,214 | |
0.2% | - | |
4.8 | 2.9 | |
about 1 month ago | 3 months ago | |
F# | C# | |
GNU General Public License v3.0 or later | 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.
Suave.IO
- The combined power of F# and C#
-
New server-side framework based on monadic parsing
This is cool. I just want to give a shoutout to Suave, which is the original inspiration for Giraffe, and is still my go-to web server in F#.
-
Building a Webpack alternative in F#
This shouldn't be that hard, I just needed a server that well... served the HTML/CSS/JS files right? I went to my desktop, created an F# script added a couple of libraries like Suave and CliWrap so I could call the dotnet fable command from my F# code and make it compile my Fable files.
-
Introducing Giraffe.Htmx
Giraffe is a library that sits atop ASP.NET Core and allows developers to build web applications in a functional style; dotnet new giraffe is literally my starting point when I begin a new web application project. (Rather than write three more sentences filled with effusive praise, I’ll just leave it at that; it’s great.) It also provides a view engine (that builds upon Suave‘s “experimental” view engine) which uses an F# DSL to define HTML in a strongly-typed way. It has been incredibly efficient for a while, but with .NET’s work over the past two releases at improving performance, and Giraffe’s adoption of those techniques, it is lightning fast.
- Suave 2.6.1 Released 🚀
OneOf
-
The Monad Invasion - Part 1: What's a Monad?
OneOf
-
Discriminated Unions: Essa feature faz falta no CSharp
Inclusive, para suportar esse tipo de funcionalidade, foi criada a biblioteca OneOf: mcintyre321/OneOf: Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching (github.com)
- Easy to use F#-like ~discriminated~ unions for C# with big compile time matching
-
Rolled my own Result<T,E> type that seems to work better than others.
Then I found discussion of the OneOf package, and then found some simpler Result code. I tried using that code but I found the use of Match and lambdas meant I couldn't simply break out of the loop in my example.
-
What's new in C# 12: overview
Until that feature lands there's this https://github.com/mcintyre321/OneOf which is pretty nice.
- The combined power of F# and C#
-
Exception handling between controller and service
Yep, it's called result pattern, aforementioned above. There was two highlighted implementations - OneOf, FluentResults.
-
Have you heard of AnyOf .NET Lib?
No he didn't. He made a video of the OneOf library. Not this one.
-
Have you heard of AnyOf C# Library?
We already have OneOf https://github.com/mcintyre321/OneOf I've used it in Production multiple times and it's an awesome way to keep everything strongly typed and eliminate null reference exceptions.
- What your hidden nuget gems ?
What are some alternatives?
Giraffe - A native functional ASP.NET Core web framework for F# developers.
language-ext - C# functional language extensions - a base class library for functional programming
Saturn - Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
csharp-monad - Library of monads for C#
ASP.NET MVC
ValueOf - Deal with Primitive Obsession - define ValueObjects in a single line (of C#).
DotVVM - Open source MVVM framework for Web Apps
csharplang - The official repo for the design of the C# programming language
Freya - Freya Web Stack - Meta-Package
Rop.OneOfExtensionGenerator - OneOf Helper Extensions Source Generator
dotNetify - Simple, lightweight, yet powerful way to build real-time web apps.
TensorFlowSharp - TensorFlow API for .NET languages