Our great sponsors
-
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.
-
core
WebSharper - Full-stack, functional, reactive web apps and microservices in F# and C# (by dotnet-websharper)
-
Suave.IO
Suave is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition.
-
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.
> but I just want something closer to Scala, but for .Net
That's what I'm working toward with my language-ext library [1]. Obviously more support for expression based programming would be welcome (and higher kinds), but you can do a lot with LINQ and a good integrated library surface.
[1] https://github.com/louthy/language-ext
Given few people anticipated ValueTuple and C# adding a more direct tuple syntax, I feel like it is only a matter of time before C# adds discriminated unions.
(There are multiple proposals tracking the idea. This seems the most comprehensive and "central": https://github.com/dotnet/csharplang/issues/7016)
you can easily do them, I added a comment on the article showing how....
https://github.com/linkdotnet/Blog.Discussions/discussions/7...
Giraffe is another interesting one to explore: https://giraffe.wiki/
Giraffe is nice because it is itself built "just" as ASP.NET Core Middleware so it plays a bit more nicely than Suave with a mixed stack of C#-defined Middleware.
It's more likely you accidentally fall back into just translating C# patterns to non-idiomatic F# with Giraffe, but it's also nicer when in that case of needing to live in both worlds and use a mixture of libraries built for C# ASP.NET projects.
Avalonia does Just Work from F#; it even has `dotnet new` templates for F# (https://github.com/AvaloniaUI/avalonia-dotnet-templates).
It isn't Haddock, it's simply inspired by Haddock. It's a library I wrote called best-form [1]. The README gives context:
"This is a C# doc-gen tool. It was primarily built to support my Language-Ext project. Which is non-idiomatic in its approach. I couldn't find documentation generators that did it justice. I also really liked the Hackage documentation style from Haskell, so have taken a styling approach from there (even if it looks a little dated now, it was always the documentation I felt most comfortable reading)."
language-ext isn't idiomatic C# and so idiomatic C# doc-gens have quite a bad time with this library. One of the major benefits over other doc-gens is it grabs the README.md from each folder and prepends it to any section, allowing me to write some contextual documentation outside of the auto-generated API documentation.
[1] https://github.com/louthy/best-form