Do you want to contribute to F# commmunity projects? We encourage all efforts which support our mission. Some of the open community projects you can contribute to are below.

These projects may be at an early stage, and are not necessarily appropriate for production use. Out of small beginnings, great things come! To add a project to this list edit this page and submit a pull request.

Tags: Compiler, Editing, Dev Tools, Data Access, Data Science, Visualization, Functional Programming, Text Programming, Interop, Parsing, Testing, Cloud, Distribution, Async/Parallel, Scripting, Web, Financial, Desktop UI, Mobile, Math, Text Search, Metaprogramming, Literate programming, Audio Processing

Community Projects: Other Catalogs

  • Awesome F# - A curated list of awesome F# frameworks, libraries, software and resources.
  • FSharpest - A directory to discover F# tools, libraries and resources.

Community Projects: Compiler and Core Library

Community Projects: Editing Tools

  • logo Ionide - The VSCode plugin for F# development

  • logo Visual F# Tools - The IDE tools for F# that are part of Visual Studio. Contributions welcome!

  • logo FsAutoComplete - F# command line tool run as background process to serve information for editor tools such as Emacs, Vim, Sublime Text, Atom and VS Code

  • logo Fantomas - F# source code formatter

Community Projects: Literate Programming, Notebooks and Documentation

  • .NET 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.

  • iFSharp - IfSharp is an F# implementation for Jupyter notebooks.

  • logo FSharp.Formatting - F# tools for generating documentation: Markdown processor and F# code formatter

  • logo FSDN - FSDN is a web application that uses F# API Search library. F# API Search library supports the standard signature of F# with some extentions. This document describes the F# API Search library specific formats.

Community Projects: Development Tools

  • logo Paket - A package dependency manager for .NET with support for NuGet packages and GitHub repositories

  • F# Type Provider SDK - Learning materials and code only NuGet package for writing type providers

  • logo FAKE - F# build automation system

  • logo FSharpLint - A lint tool for F#.

  • F# SonarQube Plugin - F# support for SonarQube.

Community Projects: Functional Programming

  • logo Streams - A lightweight F#/C# library for efficient functional-style pipelines on streams of data.

  • logo LinqOptimizer - An automatic query optimizer-compiler for Sequential and Parallel LINQ. LinqOptimizer compiles declarative LINQ queries into fast loop-based imperative code. The compiled code has fewer virtual calls and heap allocations, better data locality and speedups of up to 15x (Check the Performance page).

  • logo FSharpx.Collections - A set of functional programming collections for F#.

  • Aether - An optics (lenses, prisms, morphisms) library for F# that enables powerful ways of working with data structures.

  • F# Snippets - A community-contributed catalog of F# Snippets

Community Projects: Text Programming

Community Projects: Data Access

  • logo F# Data - A library of F# type providers and data access tools. Contributions welcome!

    • WorldBank Provider - Makes the WorldBank data easily accessible to F# programs and scripts in a type safe way, which has a data catalog of over 8000 development indicators and other data about countries in the world.

    • CSV Type Provider - Read CSV files in a statically typed way.

    • HTML Type Provider - Work with tables and lists in HTML files in a statically typed way.

    • JSON Type Provider - Access JSON files in a statically typed way.

    • XML Type Provider - Access XML documents in a statically typed way.

  • logo FSharp.Data.Toolbox - F# Data-based library for various data access APIs, includes a Twitter access package.

  • Chiron - A library for functional JSON in F#, including parsing, formatting, serialization and deserialization (through explicit object mapping), and working effectively with complex JSON data.

  • logo FSharp.Data.SqlClient - use SQL to specify queries, explore Stored Procedures, User Defined Types and Functions with auto-complete right in your F# code.

  • FSharp.Linq.ComposableQuery - A Compositional Query Framework for F# Queries, based on “A Practical Theory of Language-Integrated Query”

  • SQLProvider - A general SQL type provider, supporting LINQ queries, schema exploration, stored procedures, individuals. Currently supports MS SQL Server, MS Access, SQLite, PostgreSQL, Oracle and MySQL.

  • DynamicsNAVProvider - A Microsoft Dynamics NAV type provider, supporting LINQ queries, schema exploration, individuals.

  • DynamicsCRMProvider - A type provider for Microsoft Dynamics CRM 2011/2013.

  • logo S3 Type Provider - An experimental type provider for Amazon S3.

  • Azure Storage Type Provider - A type provider for Azure Storage assets e.g. Blobs and Tables.

  • logo DAXIF# - Delegate Automated Xrm Installation Framework - A set of tools that in combination with other Microsoft Tools, make it easier to work with Microsoft Dynamics CRM/xRM on a daily basis, also for developers who are not familiar with the platform.

  • logo SqlFun - An SQL database access library. Supports direct SQL calls, automatic CRUD operations, stored procedures, collection parameters and complex result structures. Allows to define custom query DSL-s. Type safe and idiomatically functional.

  • Donald - An idiomatic F# interface for ADO.NET.

Community Projects: Data Science Programming

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

  • logo Deedle - Deedle is an open, easy to use library for data and time series manipulation and for scientific programming. It supports working with structured data frames, ordered and unordered data, as well as time series. Deedle is designed to work well for exploratory programming using F# and C# interactive console, but can be also used in efficient compiled .NET code.

  • The MATLAB Type Provider for F# - An F# type provider for higher-fidelity integration between F# and MATLAB. Early stages. Contributors and reviewers welcome.

  • The Python Type Provider for F# (experimental) - Python type provider for F#.

  • Vulpes - A machine learning app using a deep belief network and connecting to the NVIDIA GPU unit using [Alea.cuBase] (http://blog.quantalea.net/).

Community Projects: Visualization Tools

  • logoXPlot - XPlot is a data visualization package for the F# programming language powered by popular JavaScript charting libraries. It uses Google and Plotly’s powerful and free data visualization libraries based on HTML5/SVG technology. You can access the HTML for the charts programatically and use the library from F# Interactive by displaying browser windows.

  • XPlot - XPlot is a data visualization package for the F# programming language powered by popular JavaScript charting libraries. It uses Google and Plotly’s powerful and free data visualization libraries based on HTML5/SVG technology. You can access the HTML for the charts programatically and use the library from F# Interactive by displaying browser windows.

  • Plotly.NET - a powerful and free charting library. Plotly.NET provides Plotly’s awesome graphing support with strongly typed style options for F#.

Community Projects: Math Libraries

  • logo Math.NET Numerics - A large collection of algorithms including linear algebra, special functions, statistics, probability models, interpolation and FFTs. Supports F# 3.0+ with idiomatic extension modules.
  • logo DiffSharp - An automatic differentiation (AD) library for exact and efficient calculation of derivatives (gradients, Hessians, Jacobians, directional derivatives, and matrix-free Hessian- and Jacobian-vector products). Also includes symbolic and numerical differentiation.
  • logo FsAlg - A lightweight linear algebra library supporting generic types.
  • Flips - An F# library for modeling and solving Linear Programming (LP) and Mixed-Integer Programming (MIP) problems.

Community Projects: Mobile Programming

  • Fabulous - Allows you to use the Elm architecture (Redux/Flow/MVU), to build Xamarin.Forms applications for iOS, Android, Mac and more

  • Fable + React Native - Allows you to use Fable + React Native to write mobile applications

Community Projects: Client User Interfaces

  • Interstellar - A library that enables the creation of cross-platform browser-based applications. It abstracts around various different browser APIs, so your application can use either Chromium or Apple WebKit.

  • FsXaml - F# Tools for working with XAML Projects

  • FSharp.ViewModule - Type provider to generate an MVVM style ViewModel directly from an idiomatic F# module.

Community Projects: Financial Calculations and Data

  • logo ExcelFinancialFunctions - Excel Financial functions, implemented in F#, with a high degree of conformance testing.

  • Spreads - Spreads is an ultra-fast library for complex event processing and time series manipulation. Spreads is a library, not a framework, and could be plugged into existing code bases and used immediately. Even though the primary domain is financial data, Spreads is designed as a generic complex event processing library.

Community Projects: Web Tools

  • logo 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.

  • logo WebSharper - WebSharper is an F#-based web programming platform including a compiler from F# code to JavaScript. Primary contributors are IntelliFactory, it is open source and on GitHub. Contributors welcome!

  • logo Fable is an F# to JS compiler designed to generate clean and standard code in order to maximize interoperability in both ways. It integrates with most of JS development pipelines like Babel, Webpack or React Hot Loader. Fable allows you develop not only web apps but also node.js, desktop with Electron or mobile with React native.

  • logo Fracture I/O - High performance sockets library.

  • logo Fracture.Http - HTTP server built on Fracture I/O.

  • Frank - Frank provides a functional wrapper around the types in System.Net.Http, the library used by ASP.NET Web API.

  • Freya - F# support for OWIN. Freya is a functional web stack, built on top of OWIN, that offers additional layers for constructing OWIN pipelines, types based on relevant RFC definitions, a router, and an HTTP finite state machine abstraction similar to that found in webmachine.

  • FsBlog - A blog aware, static site generation using F#. Inpired by the likes of Jekyll and Octopress.

  • Firm - A blog aware, static site generation using F#. It supports stand-alone pages, blog posts, rss, tags (tag cloud) and post archive. Templates are written in Razor. Posts and pages are written in Markdown.

  • Falco - A functional micro-library for building brilliant ASP.NET Core applications using F#. Low barrier to entry for those new to functional programming.

  • Interstellar - A library that enables the creation of cross-platform browser-based applications. It abstracts around various different browser APIs, so your application can use either Chromium or Apple WebKit.

Community Projects: Scripting & Configuration

Community Projects: Asynchronous, Concurrent and Parallel Programming

  • logo F# Parallel Sequences. This component provides F#-style API for parallel operations on sequences that are part of .NET 4.0 as System.Linq.ParallelEnumerable class. The API is akin to F# operations on sequences.

  • logo FSharp.Control.Reactive. F#-style modules for working with the Reactive Extensions (Rx) as a set of extensions to the built-in Observable module. The library includes observe and rxquery computation expressions, as well.

  • Cricket. Cricket is an actor library for F#. The actor programming model is inherently concurrent, an actor is a primitive that wraps a computation, the computation is ran by sending messages to the actor. The actor can then respond to the reciept of the message by executing one or more of the following actions (possibly concurrently).

  • logo FusionTasks. F# Async workflow <–> .NET Task easy seamless interoperability library.

Community Projects: Distribution Tools

  • f0 - A binary [de]serialization combinator library, with binary-format phantom types and a compatible Scala partner implementation.

  • logo FsPickler - A fast, general-purpose binary serializer for .NET written in F# that doubles as a pickler combinator library.

  • logo Vagabond - A library for distributing dynamic assemblies.

  • logo Akka.NET - .NET community port of the Java/Scala framework Akka.

  • logo fszmq - a binding to the ZeroMQ distributed computing library for F# (and other CLR languages).

  • logo Ractor.CLR - Redis based distributed actors system.

Community Projects: Cloud Tools

  • logo Amazon.SimpleWorkflow.Extensions Extension to Amazon SDK’s SimpleWorkflow capabilities to make it more intuitive to use

  • logo DynamoDB.SQL SQL-like external DSL for querying and scanning Amazon DynamoDB

  • Fog - Fog brings the cloud down to earth and wraps it in something more easily used by F#. It provides a more functional approach to creating Windows Azure apps with F#.

  • logo FSharp.Azure - FSharp.Azure provides an idiomatic F# API to query and modify data in Azure table storage using immutable F# record types.

  • logo S3 Type Provider - An experimental type provider for Amazon S3.

  • Azure Storage Type Provider - A type provider for Azure Storage assets e.g. Blobs and Tables.

  • FsDecider F# computation expression builder for AWS Simple Workflow deciders.

Community Projects: Testing Tools

  • logo FSharpTest - NUnit Visual Studio Project template with sample failing tests in FsUnit, FsCheck, and Unquote.

  • FsUnit - Add F# functional syntax to NUnit, xUnit, and MsTest.

  • FsCheck - Random testing generator combinators, port of Haskell’s QuickCheck.

  • logo Foq - A lightweight thread-safe mocking library for F#, C# & VB.Net. Use Foq to mock abstract classes and interfaces.

  • AutoFixture.AutoFoq - A library which turns AutoFixture into an Auto-mocking Container where the mock instances are created by Foq.

  • logo Unquote - F# unit test assertions as quoted expressions and step-by-step failure messages.

  • logo canopy - F#rictionless web testing with Selenium.

  • TickSpec A lightweight F# Behaviour Driven Development (BDD) framework

  • logo FSpec A context/specification testing framework for F#

  • logo AntaniXml Random generator of XML from XSD, based on FsCheck

Community Projects: Metaprogramming

Community Projects: Parsing and Compiler Tools

  • logo FsLex and FsYacc FsLex and FsYacc implementations for F#. Contributions welcome.

  • FParsec A parser combinator library for F#

  • ParsecClone A fparsec subset clone that works on generalized stream classes

  • logo YaccConstructor Platform for grammarware research and development

  • logo YC.PrettyPrinter Printer combinators library

  • LLVM-FS - LLVM bindings for F#

  • Farkle's logo Farkle - LALR parsing with combinator-like objects for F# and C#.

Community Projects: Text Search Tools

  • logo FlexSearch Flexible and fast open source F# based Search Engine

  • MITIE-Dot-Net - A Nice .NET Wrapper for the MITIE Information Extraction Library (Written in F#, but fully C# compatible)

Community Projects: Simulation Tools

Community Projects: Audio Processing

  • FSound - A sound processing library written in F#