Top 23 Fsharp Open-Source Projects
-
Have you looked through https://github.com/quozd/awesome-dotnet/blob/master/README.md
-
Project mention: Pulumi (Infrastructure as Code platform) has gained experimental support for Scala/sbt | reddit.com/r/scala | 2022-08-12
https://www.pulumi.com/ a tool to use your favorite programming language to define your infrastructure, instead of things like terraform. It's somewhat cloud agnostic and you can get started really fast. Might be overkill for a simple project though, and afaik TypeScript/JS and Python SDK's are the most easy to use.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
You might be able to do something with this: https://github.com/dotnet/docs
The browsy bits seem to require a server, but the documents themselves are markdown.
-
VisualFSharp
The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
Project mention: What are the features you're looking forward to in the next version of Fsharp? | reddit.com/r/fsharp | 2022-08-04 -
I've done this with the Mono version of Godot and C# libraries, specifically https://www.alglib.net/ and https://numerics.mathdotnet.com/
-
F#/fable has some prerelease support for Rust: https://github.com/fable-compiler/Fable/issues/2703 I'm not entirely sure, but I think that will allow F# to Rust and Rust to F# transpilation.
-
Project mention: #JulyOT 08: .NET nanoFramework GPIO, I2C, SPI and other IO support | dev.to | 2022-07-07
A comparison on how to reuse code and the differences between .NET IoT and .NET nanoFramework is available here.
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
interactive
.NET Interactive takes the power of .NET and embeds it into your interactive experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
https://fslab.org/ https://github.com/dotnet/interactive https://nteract.io/
-
I'm not sure if it will help in your scenario, but faced with a similar problem (~80 project solution, mixed c#/f#, with varying dependencies), I found success with Paket (https://github.com/fsprojects/Paket)
It is much more prevalent in the f# community (at this point `dotnet restore` is a perfectly fine default until you hit trouble), but isn't limited to just being applied there.
-
Bix is a micro-framework designed with F# in mind and that runs on both Deno and Bun! and in theory it also should even run in a service worker! (intercepting fetch requests) although I haven't tested that yet, it offers a general purpose handler that coupled with a set of route definitions it can bring a Giraffe/Saturn like framework to life in JavaScript runtimes which is incredibly awesome! useful? maybe not 😅, but awesome indeed. Let's see some code for it
-
Re: DataFrames, that's good to know. There is the DataFrame API which is part of the Microsoft.Data.Analysis NuGet package and that's the API that the issue is tracking and shown in the sample notebook I shared. That API has no dependencies on other systems. The DataFrame you're referring to is part of the .NET for Apache Spark library which has the dependency on Apache Spark which rqeuires some initial setup.
-
-
NBomber
Modern and flexible load testing framework for Pull and Push scenarios, designed to test any system regardless a protocol (HTTP/WebSockets/AMQP etc) or a semantic model (Pull/Push).
-
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.
Project mention: New server-side framework based on monadic parsing | reddit.com/r/haskell | 2022-03-29This 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#.
-
Project mention: When writing unit tests, what exactly am I looking for? | reddit.com/r/learnprogramming | 2022-07-06
C# - FsCheck
-
-
Bolero
Bolero brings Blazor to F# developers with an easy to use Model-View-Update architecture, HTML combinators, hot reloaded templates, type-safe endpoints, advanced routing and remoting capabilities, and more.
If you're familiar with JSX/Swift/Kotlin this might be the best way for you to work with your views it's also the most performant variation of Fun.Blazor's way to write HTML content, Fun.Blazor offers custom operations that help you model views in a slightly less verbose manner than the plain DSL offered by bolero, it's worth noting that bolero is working on a variation like this but it might take a while to land.
-
-
I don't disagree but it owes a lot of that to OCaml. That said, since we're talking about C#, F# and VS Code I'm gonna talk about a pet peeve I have. If you open a C# project in VS Code when the "Ionide" (basically the F# plugin for Code) is installed then Ionide thinks it's a F# project and will open some F# stuff after a few seconds (or prompt you to setup some F# stuff in its gitignore). The root cause has been identified (plugin activates when it sees a ".sln" file), a PR have been opened and rejected with no mention as to why (https://github.com/ionide/ionide-vscode-fsharp/pull/1401) and the developers behind it are frustratingly non-communicative about it, closing issues about it (https://github.com/ionide/ionide-vscode-fsharp/issues/1701). Usual rules about OSS maintainers apply, they don't technically owe us users anything ... but man it feels like we're being trolled by now :D
-
F# has this kind of stuff also, where it will dynamically type data dynamic sources like databases or rest calls, etc. for an example https://fsprojects.github.io/FSharp.Data/
-
I never tried Elm directly, but I have used the F# equivalent Elmish - super productive idea.
-
Saturn
Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
Bix is a micro-framework designed with F# in mind and that runs on both Deno and Bun! and in theory it also should even run in a service worker! (intercepting fetch requests) although I haven't tested that yet, it offers a general purpose handler that coupled with a set of route definitions it can bring a Giraffe/Saturn like framework to life in JavaScript runtimes which is incredibly awesome! useful? maybe not 😅, but awesome indeed. Let's see some code for it
-
Fsharp related posts
- What are the features you're looking forward to in the next version of Fsharp?
- vscode and ionide are burning up my pc
- I have created a library for F# that is inspired ZIO and Cats Effects for Scala. It takes advantage of fibers for making scalable and efficient concurrent programs. I thought some people here might be interested in it!
- The Case for C# and .NET
- Adding some F to the C.
- Targeting Node, Bun and Deno With F#
- Does Microsoft use F# for any of its internal projects?
Index
What are some of the best open-source Fsharp projects? This list will help you:
Project | Stars | |
---|---|---|
1 | awesome-dotnet | 15,107 |
2 | Pulumi | 13,264 |
3 | docs | 3,484 |
4 | VisualFSharp | 3,193 |
5 | MathNet | 2,884 |
6 | Fable: F# |> BABEL | 2,448 |
7 | samples | 2,326 |
8 | interactive | 1,929 |
9 | Paket | 1,847 |
10 | Giraffe | 1,805 |
11 | spark | 1,797 |
12 | nodebook | 1,560 |
13 | NBomber | 1,550 |
14 | Suave.IO | 1,246 |
15 | FsCheck | 992 |
16 | Mobius: C# API for Spark | 932 |
17 | Bolero | 843 |
18 | project-system | 807 |
19 | ionide-vscode-fsharp | 764 |
20 | F# Data | 730 |
21 | elmish | 691 |
22 | Saturn | 649 |
23 | Rezoom.SQL | 644 |
Are you hiring? Post a new remote job listing for free.