• Stars
    star
    1,194
  • Rank 39,182 (Top 0.8 %)
  • Language
  • License
    Creative Commons ...
  • Created about 8 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Awesome F#

Awesome Join the chat at https://gitter.im/VPashkov/awesome-fsharp

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

Table of Contents

F# wrappers for popular .NET libraries

Looking to have a more enjoyable experience when consuming a popular .NET library? Here is a quick table.

.NET Library F# Wrapper
Avalonia Avalonia.FuncUI
ASP.NET Core Giraffe (+ optionally Saturn)
ASP.NET Core Blazor Bolero
MSTest/NUnit/xUnit.net FsUnit
System.Text.Json FSharp.SystemTextJson
WPF Elmish.WPF
Xamarin.Forms Fabulous

Actor frameworks

Build tools

Cloud

  • FsFirestore - Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase. [MIT]
  • Chia ★ 3 ⧗ 0 - Chia is a F# library which contains HelperFunctions for reporting, logging and Azure cloud operations. [Apache-2.0]

Code Generation

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

Compilers

Concurrent, asynchronous and parallel programming

Configuration

Data Science

  • Deedle ★ 347 ⧗ 21 - Deedle: Exploratory data library for .NET. [BSD-2-Clause]
  • Deep.Net - Deep learning library for F#. Provides symbolic model differentiation, automatic differentiation and compilation to CUDA GPUs. [Apache 2.0]
  • DiffSharp ★ 106 ⧗ 70 - DiffSharp is a functional automatic differentiation (AD) library. [BSD-2-Clause]
  • FsLab ★ 97 ⧗ 171 - 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. [Apache 2.0]
  • IfSharp * 272 ⧗ 1 - F# for Jupyter Notebooks. [BSD-3-Clause]
  • m2cgen - A CLI tool to transpile trained classic ML models into a native F# code with zero dependencies. [MIT]
  • Math.NET Numerics ★ 1,923 ⧗ 0 - Math.NET Numerics aims to provide methods and algorithms for numerical computations in science, engineering and every day use. F# specific bindings available. [MIT]
  • Math.NET Symbolics ★ 203 ⧗ 5 - Math.NET Symbolics is a basic open source computer algebra library for .NET, Silverlight and Mono written entirely in F#. [MIT]
  • SIMDArray ★ 42 ⧗ 11 - SIMD enhanced Array extensions for faster computation. [MIT]
  • Synapses - Neural network library in F#. [MIT]

Development Tools

IDE

  • F# Playground - Minimal playground for F#. [GPL 3.0]
  • Jetbrains Rider - Cross-Platform .Net IDE with F# support. [Proprietary, free for open source projects]
  • MonoDevelop - Cross-platform IDE mostly aimed at Mono/.NET developers. [LGPLv2 and X11/MIT]
  • Visual Studio - IDE from Microsoft with first class F# support(Windows only). [Proprietary]

Editor plugins

Performance analysis

  • fasm - F# jit disassembler, as a dotnet tool [MIT]

General purpose libraries

Game development

  • FsUnity - F# Libraries, Tools, and Plugins for the Unity3d Game Engine. [Unilicense]
  • Garnet ★ 15 ⧗ 6 - Garnet is a lightweight game composition library for F# with entity-component-system (ECS) and actor-like messaging features. [MIT]
  • Godot - Tutorial how to use F# with Godot.
  • Nu Game Engine ★ 502 ⧗ 9 - Cross-platform F# 2D game engine built in the functional style. Uses SDL2 and Farseer Physics. [MIT]

GUI

  • Avalonia.FuncUI - Develop cross-platform MVU GUI Applications using F# and Avalonia
  • 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#. [Apache 2.0]
  • Oryx - A high performance .NET cross platform functional HTTP request handler library for writing HTTP clients and orchestrating web requests. [Apache 2.0]

Logging

  • FsLibLog ★ 26 ⧗ 0 - FsLibLog is a single file you can copy paste or add through Paket Github dependencies to provide your F# library with a logging abstraction. [MIT]
  • Logary ★ 259 ⧗ 0 - Logary is a high performance, multi-target logging, metric, tracing and health-check library for mono and .Net. [Apache 2.0]

Package Management

  • NuGet - NuGet is the package manager for the Microsoft development platform including .NET. [Apache 2.0]
  • Paket ★ 903 ⧗ 0 - Dependency manager for .NET with support for NuGet packages and Git repositories. [MIT]

Parsing

PreCompilation

Serialization

Search

  • FlexSearch ★ 133 ⧗ 14 - high performance REST/SOAP services based full-text searching platform built on top of the popular Lucene search library. [Apache 2.0]

Simulation

Testing

Type providers

Creating type providers

Visualization

Web frameworks

  • Bolero ★ 629 - F# in WebAssembly, develop SPAs with the full power of F# and .NET Blazor. [Apache 2.0]
  • 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. [MIT]
  • Freya ★ 241 ⧗ 7 - Modern, purely functional stack for web programming in F#. [Apache 2.0]
  • Genit ★ 62 ⧗ 1 - Cross-platform website generator and server using F#, Suave and PostgreSQL or MS SQL Server.
  • Giraffe ★ 526 ⧗ 49 - Native functional ASP.NET Core web framework for F# developers. [Apache 2.0]
  • Saturn ★ 62 ⧗ 2 - Opinionated, web development framework for F# which implements the server-side, functional MVC pattern. [MIT]
  • Suave ★ 756 ⧗ 2 - 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. [Apache 2.0]
  • WebSharper ★ 270 ⧗ 7 - F#-based web programming platform including a compiler from F# code to JavaScript. [Apache 2.0]

.Net Core Templates

Resources

Blogs

Books

Cheatsheets

Community

Other Lists

Websites

Videos

Courses

More Repositories

1

Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
F#
2,019
star
2

FAKE

FAKE - F# Make
F#
1,279
star
3

Avalonia.FuncUI

Develop cross-plattform GUI Applications using F# and Avalonia!
F#
952
star
4

FSharpPlus

Extensions for F#
F#
845
star
5

FSharp.Data

F# Data: Library for Data Access
F#
813
star
6

fantomas

FSharp source code formatter
F#
772
star
7

FSharpx.Extras

Functional programming and other utilities from the original "fsharpx" project
F#
683
star
8

Rezoom.SQL

Statically typechecks a common SQL dialect and translates it to various RDBMS backends
F#
670
star
9

SQLProvider

A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.
F#
578
star
10

ProjectScaffold

A prototypical .NET solution (file system layout and tooling), recommended for F# projects
F#
517
star
11

FSharp.Formatting

F# tools for generating documentation (Markdown processor and F# code formatter)
F#
464
star
12

Argu

A declarative CLI argument parser for F#
F#
454
star
13

FsHttp

A lightweight F# HTTP library by @SchlenkR and @dawedawe
F#
445
star
14

IfSharp

F# for Jupyter Notebooks
Jupyter Notebook
442
star
15

FsUnit

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

FSharp.Data.GraphQL

FSharp implementation of Facebook GraphQL query language.
F#
399
star
17

fsharp-companies

Community curated list of companies that use F#
385
star
18

fsharp-cheatsheet

This cheatsheet aims to succinctly cover the most important aspects of F# 6.0.
F#
328
star
19

zarchive-fsharpbinding

Archive of F# Language Bindings for Open Editors
Emacs Lisp
308
star
20

FSharpLint

Lint tool for F#
F#
303
star
21

pulsar-client-dotnet

Apache Pulsar native client for .NET (C#/F#/VB)
F#
301
star
22

FSharp.TypeProviders.SDK

The SDK for creating F# type providers
F#
298
star
23

FSharp.Control.Reactive

Extensions and wrappers for using Reactive Extensions (Rx) with F#.
F#
284
star
24

SwaggerProvider

F# generative Type Provider for Swagger
F#
264
star
25

FsReveal

FsReveal parses markdown and F# script file and generates reveal.js slides.
F#
258
star
26

FSharp.Data.Adaptive

On-demand adaptive/incremental data for F# https://fsprojects.github.io/FSharp.Data.Adaptive/
F#
249
star
27

FSharpx.Collections

FSharpx.Collections is a collection of datastructures for use with F# and C#.
F#
247
star
28

FSharp.Json

F# JSON Reflection based serialization library
F#
226
star
29

fsharp-language-server

F#
219
star
30

fsharp-ai-tools

TensorFlow API for F# + F# for AI Models eDSL
F#
213
star
31

FsLexYacc

Lexer and parser generators for F#
F#
207
star
32

FSharp.Data.SqlClient

A set of F# Type Providers for statically typed access to MS SQL database
F#
205
star
33

Fleece

Json mapper for F#
F#
199
star
34

ExcelFinancialFunctions

.NET Standard library providing the full set of financial functions from Excel.
F#
194
star
35

Chessie

Railway-oriented programming for .NET
F#
187
star
36

FsXaml

F# Tools for working with XAML Projects
F#
172
star
37

FSharp.UMX

F# units of measure for primitive non-numeric types
F#
162
star
38

FSharp.Control.AsyncSeq

Asynchronous sequences for F#
F#
161
star
39

Paket.VisualStudio

Manage your Paket (http://fsprojects.github.io/Paket/) dependencies from Visual Studio!
C#
147
star
40

ExcelProvider

This library is for the .NET platform implementing a Excel type provider.
F#
141
star
41

TickSpec

Lean .NET BDD framework with powerful F# integration
F#
134
star
42

SIMDArray

SIMD enhanced Array operations
F#
132
star
43

FsBlog

Blog aware, static site generation using F#.
CSS
132
star
44

FSharp.Configuration

The FSharp.Configuration project contains type providers for the configuration of .NET projects.
F#
114
star
45

FSharp.Interop.Dynamic

DLR interop for F# -- works like dynamic keyword in C#
F#
95
star
46

FSharpx.Async

Asynchronous programming utilities for F#
F#
94
star
47

FSharp.Control.TaskSeq

A computation expression and module for seamless working with IAsyncEnumerable<'T> as if it is just another sequence
F#
93
star
48

FSharp.Management

The FSharp.Management project contains various type providers for the management of the machine.
F#
91
star
49

AzureStorageTypeProvider

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

Foq

A unit testing framework for F#
F#
79
star
51

FSharp.Azure.Storage

F# API for using Microsoft Azure Table Storage service
F#
75
star
52

FSharp.ViewModule

Library providing MVVM and INotifyPropertyChanged support for F# projects
F#
74
star
53

FSharp.Text.RegexProvider

A type provider for regular expressions.
F#
74
star
54

Incremental.NET

A library for incremental computations. Based on janestreet/incremental (https://github.com/janestreet/incremental) for OCaml.
F#
72
star
55

FSharp.Core.Fluent

Fluent members for F# FSharp.Core functions
F#
71
star
56

Mechanic

F#
68
star
57

FSharp.Collections.ParallelSeq

Parallel (multi-core) sequence operations
F#
68
star
58

FSharp.Quotations.Evaluator

A quotations evaluator/compiler for F# based on LINQ expression tree compilation
F#
68
star
59

FSharp.Linq.ComposableQuery

Compositional Query Framework for F# Queries, based on "A Practical Theory of Language-Integrated Query"
F#
67
star
60

OpenAPITypeProvider

F# type provider for Open API specification
F#
65
star
61

fsharp-hashcollections

Library providing fast hash based immutable map and set
F#
60
star
62

FSharp.AWS.DynamoDB

F# wrapper API for AWS DynamoDB
F#
58
star
63

FSharp.Data.Toolbox

F# Data-based library for various data access APIs
F#
57
star
64

DynamoDb.SQL

SQL-like external DSL for querying and scanning Amazon DynamoDB
F#
54
star
65

FsRandom

A purely-functional random number generator framework designed for F#
F#
52
star
66

Z3Fs

Simple DSL to solve SMT problems using Z3 API in F#
F#
52
star
67

FSharp.Data.JsonSchema

F#
49
star
68

fantomas-for-vs

Visual Studio Formatter for F#
HTML
46
star
69

SyntacticVersioning

Helper tool to verify semantic version changes based on API surface area changes
F#
45
star
70

FSharp.Compatibility

Compatibility libraries for F#
F#
44
star
71

Interstellar

Cross-platform desktop apps in F# using web tech - https://www.nuget.org/packages/Interstellar.Core/
F#
43
star
72

FSharp.Interop.PythonProvider

Early experimental F# type provider for python
F#
42
star
73

FSharp.Compiler.PortaCode

The PortaCode F# code format and corresponding interpreter. Used by Fabulous and others.
F#
42
star
74

FSharp.CloudAgent

Allows running F# Agents in a distributed manner using Azure Service Bus.
F#
39
star
75

FSharp.Data.TypeProviders

F# Type Providers for SqlDataConnection, SqlEntityConnection, ODataService, WsdlService and EdmxFile using .NET Framework generators
F#
38
star
76

Roslyn.FSharp

Roslyn read-only API to work with F# code (via bridge to FSharp.Compiler.Service)
F#
37
star
77

FnuPlot

An F# wrapper for gnuplot charting library
F#
35
star
78

GraphProvider

A state machine type provider
F#
35
star
79

FSharp.Span.Utils

Makes Span/ReadOnlySpan easy to use from F#.
F#
34
star
80

fantomas-tools

Collection of tools used when developing for Fantomas
F#
34
star
81

fsharp-linting-for-vs

Visual Studio Linter for F#
C#
33
star
82

LocSta

An F# library for composing state-aware functions by @SchlenkR
JavaScript
33
star
83

FSharp.Data.Xsd

XML Type Provider with schema support
F#
32
star
84

zarchive-sublime-fsharp-package

F# development tools for SublimeText 3
Python
32
star
85

.github

The place to request for projects to be added or removed from the incubation space
28
star
86

zarchive-xamarin-monodevelop-fsharp-addin

(No longer Used) F# Editing Support In MonoDevelop and Xamarin Studio
F#
27
star
87

Zander

Regular expression for matrix information. I.e. parse structured blocks of information from csv or excel files (or similar 2d matrixes)
F#
27
star
88

FSharp.Compiler.CodeDom

An F# CodeDOM implementation (based on the old F# Power Pack)
F#
25
star
89

BioProviders

F# library for accessing and manipulating bioinformatic datasets.
F#
24
star
90

ReasoningEngine

Symbolic analysis of discrete dynamical systems
F#
24
star
91

FSharp.Data.WsdlProvider

An implementation of the WsdlProvider compatible with netfx and netcore
F#
24
star
92

FsMath3D

F# 3D Math Library for realtime applications
F#
22
star
93

S3Provider

Experimental type provider for Amazon S3
F#
22
star
94

FSharpPerf

A set of performance test scripts for the F# compiler.
F#
20
star
95

MarkerClustering

A component to cluster map markers.
F#
19
star
96

DynamicsCRMProvider

A type provider for Microsoft Dynamics CRM 2011.
F#
16
star
97

Amazon.SimpleWorkflow.Extensions

Extensions to AmazonSDK's SimpleWorkflow capabilities to make it more intuitive to use
F#
16
star
98

Canopy.Mobile

Canopy testing framework for mobile apps
F#
14
star
99

LSON

Lisp inspired serialization (intended for when you don't even want to take a dependency on JSON serializer)
F#
14
star
100

FSharp.Codecs.Redis

FSharp redis codecs based on Fleece patterns
F#
13
star