Awesome Lists

awesome-fsharp

by fsprojects

awesome listF#pushed almost 2 years ago

A curated list of awesome F# frameworks, libraries, software and resources.

AI summary

F# toolkit

A curated list of useful tools and libraries for building F# applications

stars
1.2K
forks
102
watching
91
awesome lists
6
entries
226
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/fsprojects/awesome-fsharp/links.svg)](https://awesome.facts.dev/awesome/fsprojects/awesome-fsharp)
HTML
<a href="https://awesome.facts.dev/awesome/fsprojects/awesome-fsharp"><img src="https://awesome.facts.dev/shield/fsprojects/awesome-fsharp/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/fsprojects/awesome-fsharp/links.svg

What's in the list

226 links in 37 sections, with live GitHub stats.activeno commit in 2y

Actor frameworks

  • Akka.NET

    Community-driven port of the popular Java/Scala framework Akka to .NET

  • Akkling

    F# typed API for Akka.NET

  • Cricket

    Actor framework for F#

  • Orleankka

    Functional API for Orleans Framework

  • Orleans

    Distributed Virtual Actor Model

  • Proto.actor

    Cross-platform actor framework for .NET, GO, JAVA and KOTLIN

Build tools

  • FAKE

    "F# Make" is a cross platform build automation system

  • Xake

    Another MAKE utility implementation on F#, fully declarative with no-brain parallelism, inspired by Shake

Cloud

  • FsFirestore

    Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase

  • Chia

    Chia is a F# library which contains HelperFunctions for reporting, logging and Azure cloud operations

Code Generation

  • Hawaii

    A dotnet CLI tool to generate type-safe F# clients from OpenAPI/Swagger services

Compilers

  • F# Compiler Services

    The F# Compiler, F# Interactive scripting engine and F# editing services as a component library

  • Fable

    F# to JavaScript Compiler

  • Fez

    F# to Erlang compiler

  • FSharp

    The Open Edition of the F# compiler, core library and tools

  • FunScript

    F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider

  • Juniper

    Functional Reactive Programming for the Arduino and other microcontrollers

  • Pengines.Client

    Sandboxed Prolog environment

  • Visual F#

    The Visual F# compiler and tools

Concurrent, asynchronous and parallel programming

  • FIO

    A type-safe, highly concurrent and asynchronous library for F# based on pure functional programming

  • FSharp.Control.AsyncSeq

    Collection of asynchronous programming utilities for F#

  • FSharp.Control.FusionTasks

    F# Async workflow <--> .NET Task/ValueTask easy seamless interoperability library

  • FSharpx.Async

    Collection of asynchronous programming utilities for F#

  • Giraffe.Tasks

    Task computation expression to work natively with .NET's Tasks from an F# application

  • Hopac

    Concurrent ML style concurrent programming library for F#

  • Ply

    High performance System.Threading.(Value)Task computation expressions for F#

  • Reaction.AsyncRx

    An implementation of Async Observables in F# for .NET and Fable

  • TaskBuilder.fs

    F# computation expression builder for System.Threading.Tasks

Configuration

  • Argu

    Declarative CLI argument/XML configuration parser for F# applications

  • docopt.fs

    command line arguments parser, F# port of

  • FsConfig

    F# library for reading configuration data from environment variables and AppSettings with type safety

  • Skid

    Simple, single-file portable CLI utility for configuration templating

Data Science

  • Deedle

    Deedle: Exploratory data library for .NET

  • Deep.Net

    Deep learning library for F#. Provides symbolic model differentiation, automatic differentiation and compilation to CUDA GPUs

  • DiffSharp

    DiffSharp is a functional automatic differentiation (AD) library

  • FsLab

    FsLab is a collection of libraries for data-science. It provides a rapid development environment that lets you write advanced analysis with few lines of production-quality code

  • IfSharp

    F# for Jupyter Notebooks

  • m2cgen

    A CLI tool to transpile trained classic ML models into a native F# code with zero dependencies

  • Math.NET Numerics

    Math.NET Numerics aims to provide methods and algorithms for numerical computations in science, engineering and every day use. F# specific bindings available

  • Math.NET Symbolics

    Math.NET Symbolics is a basic open source computer algebra library for .NET, Silverlight and Mono written entirely in F#

  • SIMDArray

    SIMD enhanced Array extensions for faster computation

  • Synapses

    Neural network library in F#

Development Tools / IDE

  • F# Playground

    Minimal playground for F#

  • JetBrains Rider

    Cross-platform .NET IDE with F# support (Proprietary, free for non-commercial use)

  • MonoDevelop

    Cross-platform IDE mostly aimed at Mono/.NET developers

  • Visual Studio

    IDE from Microsoft with first class F# support (Windows only, Proprietary)

Development Tools / Editor plugins

  • Emacs F# mode

    F# support in Emacs (including Intellisense and Interactive mode)

  • F# Bindings

    Archive of F# Language Bindings for Open Editors

  • Fantomas

    F# code formatter

  • FSharpLint

    F# code linter

  • FSharpFar

    F# support for Far Manager

  • Ionide

    Atom Editor and Visual Studio Code package suite for cross platform F# development

  • Vim F#

    F# support for Vim

  • neofsharp.vim

    Basic F# support for (Neo)Vim

  • VimSpeak

    VimSpeak lets you control Vim with your voice using speech recognition

  • Visual F# Power Tools

    Power commands for F# in Visual Studio

  • fsharp-notebook

    Data Science Notebook for F# interactive

Development Tools / Performance analysis

  • fasm

    F# jit disassembler, as a dotnet tool

General purpose libraries

  • Aether

    Optics library for F#, similar to the Haskell Data.Lens package

  • Chessie

    Railway-oriented programming

  • Donald

    A simple F# interface for ADO.NET

  • DustyTables

    Thin F# API for SqlClient for easy data access to ms sql server with functional seasoning on top

  • ExtCore

    Extended core library for F#

  • Fling

    Fling significantly reduces boilerplate needed to efficiently save/load complex domain entities to/from multiple tables

  • FSharp.CosmosDb

    An F# wrapper around the CosmosDB SDK, making it more functional-friendly

  • FSharp.HashCollections

    Library providing fast hash based immutable map and set

  • FSharpLu

    Lightweight utilities for string manipulations, logging, collection data structures, file operations, text processing, security, async, parsing, diagnostics, configuration files and Json serialization

  • FsToolkit.ErrorHandling

    Clear, simple and powerful error handling with railway-oriented programming. Inspired by Chessie

  • Fumble

    Thin F# API for Sqlite for easy data access to sqlite database with functional seasoning on top

  • FSharpPlus

    Extensions for F#

  • FSharpx.Extras

    FSharpx.Extras is a collection of libraries and tools for use with F#

  • LiteDB.FSharp

    F# Support for , an embedded single file database for .NET

  • Npgsql.FSharp

    Thin F# wrapper around , the PostgreSQL database driver

  • TypeShape

    Small, extensible F# library for practical generic programming

  • Validus

    A composable validation library for F#, with built-in validators for most primitive types and easily extended through custom validators

  • Vp.FSharp.Sql

    Generic F# ADO Provider Wrapper (SqlServer, PostgreSql, Sqlite)

Game development

  • FsUnity

    F# Libraries, Tools, and Plugins for the Unity3d Game Engine

  • Garnet

    Garnet is a lightweight game composition library for F# with entity-component-system (ECS) and actor-like messaging features

  • Godot

    Tutorial how to use F# with Godot

  • Nu Game Engine

    Cross-platform F# 2D game engine built in the functional style. Uses SDL2 and Farseer Physics

GUI

  • Avalonia.FuncUI

    Develop cross-platform MVU GUI Applications using F# and Avalonia

  • Elmish.WPF

    Elmish (or MVU) approach to WPF programming

  • Epoxy

    An independent flexible XAML MVVM library for .NET

  • Fabulous

    F# Functional App Development, using declarative dynamic UI

HTTP Clients

  • Http.fs

    A simple, functional HTTP client library for F#

  • FsHttp

    A convenient library for consuming HTTP/REST endpoints via F#

  • Oryx

    A high performance .NET cross platform functional HTTP request handler library for writing HTTP clients and orchestrating web requests

Logging

  • FsLibLog

    FsLibLog is a single file you can copy paste or add through Paket GitHub dependencies to provide your F# library with a logging abstraction

  • Logary

    Logary is a high performance, multi-target logging, metric, tracing and health-check library for mono and .NET

Package Management

  • NuGet

    NuGet is the package manager for the Microsoft development platform including .NET

  • Paket

    Dependency manager for .NET with support for NuGet packages and Git repositories

Parsing

  • FParsec

    FParsec is a parser combinator library for F#

  • FsAttoparsec

    Port of Bryan O'Sullivan's attoparsec from Haskell to F#

  • XParsec

    Extensible, type-and-source-polymorphic, non-linear applicative parser combinator library for F# 3.0 and 4.0

PreCompilation

  • Myriad

    Myriad is a pre-compilation code generator

Serialization

  • FsCodec

    F# Event-Union Contract Encoding with versioning tolerant converters

  • FSharp.Json

    F# JSON Reflection based serialization library

  • FSharp.SystemTextJson

    System.Text.Json extensions for F# types

  • Fleece

    Fleece is a JSON mapper for F#. It simplifies mapping from a Json library's JsonValue onto your types, and mapping from your types onto JsonValue

  • FsPickler

    Fast, multi-format messaging serializer for .NET

  • Legivel

    F# Yaml 1.2 parser

  • Thoth.Json

    Json encoder/decoder library inspire by Elm

  • FlexSearch

    High performance REST/SOAP services based full-text searching platform built on top of the popular Lucene search library

Simulation

Testing

  • altcover

    Cross-platform coverage gathering and processing tool set for .NET/.NET core and Mono

  • canopy

    F# web automation and testing framework

  • Expecto

    Smooth testing framework for F# with tests-as-values and parallelism by default

  • Faqt

    Fantastic fluent assertions for your F# tests and domain code

  • FsCheck

    Random Testing for .NET

  • fsharp-hedgehog

    Property-based testing system for F#

  • FsUnit

    FsUnit makes unit-testing with F# more enjoyable. It adds a special syntax to your favorite .NET testing framework

  • NBomber

    Simple load testing framework for Pull and Push scenarios

  • Persimmon

    Unit test framework for F# using computation expressions

  • unquote

    Write F# unit test assertions as quoted expressions

  • xUnit.net

    Free, open source, community-focused unit testing tool for the .NET Framework

Type providers

  • ApiaryProvider

    Type provider for Apiary.io

  • AzureStorageTypeProvider

    F# Azure Type Provider which can be used to explore Blob, Table and Queue Azure Storage assets and easily apply CRUD operations on them

  • COM Type Provider

    Type provider for COM interop

  • DynamicsCRMProvider

    Type provider for Microsoft Dynamics CRM 2011

  • EasyBuild.FileSystemProvider

    Type provider to provide a typed representation of files and directories based on your project structure or a virtual file system

  • ExcelProvider

    Excel type provider

  • Facil

    Facil generates F# data access source code from SQL queries and stored procedures. Optimized for developer happiness

  • FSharp.Configuration

    The project contains type providers for the configuration of .NET projects. Handles AppSettings, ResX, Yaml and Ini files

  • FSharp.Data

    Data science library that contains type providers for CSV, HTML, JSON, XML, and WorldBank data

  • FSharp.Data.DbPedia

    F# type provider for DBpedia

  • FSharp.Data.HiveProvider

    Demonstrator F# type provider for Apache Hive

  • FSharp.Data.Npgsql

    F# type providers library on a top of well-known Npgsql ADO.NET client library

  • FSharp.Data.SqlClient

    F# Type Provider for statically typed access to T-SQL command parameters and result set

  • FSharp.Data.Tdms

    TDMS support for F#

  • FSharp.Data.Toolbox

    Library for various data access APIs based on FSharp.Data. The library currently includes the Twitter type provider for access to Twitter users and feeds, and SAS type provider to read SAS dataset files

  • FSharp.Data.TypeProviders

    Library that contains type providers for files, files, WSDL services, OData services, and SQL databases

  • FSharp.Management

    The project contains various type providers for the management of the machine. Handles file system, registry, Windows Management Instrumentation, PowerShell and SystemTimeZones

  • FSharp.Text.RegexProvider

    Type provider for regular expressions

  • FsXaml

    F# Tools for working with XAML Projects

  • FsYaml

    Typed Yaml library for F#

  • GraphProvider

    state machine type provider

  • MatDataProvider

    Erased type provider for files (binary MATLAB format files)

  • R Type Provider

    Type provider to interop with R

  • Rezoom.SQL

    Statically typed SQL for F#

  • S3Provider

    Experimental type provider for Amazon S3

  • SQLProvider

    General F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides

  • SwaggerProvider

    F# generative Type Provider for Swagger

Type providers / Creating type providers

Visualization

  • FSharp.Charting

    Charting library suitable for interactive F# scripting

  • SharpVG

    Create SVG vector graphics in F#

  • XPlot

    A plotting library for the F# programming language

  • GG.Net

    Visualization library for data scientists

  • Plotly.NET

    A Plotly-based general purpose plotting library for F#

Web frameworks

  • Bolero

    F# in WebAssembly, develop SPAs with the full power of F# and .NET Blazor

  • Falco

    A functional-first toolkit for building brilliant ASP.NET Core applications using F#

  • Felicity

    Boilerplate-free, idiomatic JSON:API for your beautiful, idiomatic F# domain model. Optimized for developer happiness

  • Feliz

    A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F#

  • Freya

    Modern, purely functional stack for web programming in F#

  • Genit

    Cross-platform website generator and server using F#, Suave and PostgreSQL or MS SQL Server

  • Giraffe

    Native functional ASP.NET Core web framework for F# developers

  • Oxpecker

    ASP.NET Core based F# framework + supporting tools (ViewEngine, Htmx, OpenApi)

  • Saturn

    Opinionated, web development framework for F# which implements the server-side, functional MVC pattern

  • Suave

    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

  • WebSharper

    F#-based web programming platform including a compiler from F# code to JavaScript

.NET Core Templates

Resources / Blogs

Resources / Books

Resources / Cheatsheets

Resources / Community

Resources / Other Lists

  • Awesome .NET!

    Collection of awesome .NET libraries, tools, frameworks and software

  • Awesome Fable

    Curated list of useful Fable tutorials, libraries and software

  • F# Community Projects

    FSharp community projects

  • WTF#

    Podcast focused on F# and its ecosystem

Resources / Websites

Resources / Videos

Resources / Courses

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.