To learn F# use one of the free online resources or books below.

About F#

A simple, clear resource explaining what F# is and what it is for, provided by a major commercial contributor to F# and its tooling. Learn about the tools for F#, the F# community, using F# with the .NET platform and access getting-started material.

F# for C#, Java or Python developers

Introduces you to F# and show you ways that F# can help in day-to-day development of mainstream commercial business software.

Try F#

logo Try F# allows you to try F# in an online editor/compiler without having to install anything on your computer. It includes example code for many of F#’s basic features. It’s based on the Fable 2 REPL. See several other ways to build and/or run F# in the browser at Use F# in the browser.

F# Cheat Sheet

The cheat sheet is a small and concise guide to F# syntax for newcomers to get started with the language. It’s available in HTML and PDF format.

F# on Learn X in Y Minutes

Quickly check out F# features and commonly used snippets, and compare it to languages you already know.

F# on Rosetta Code

Learn how to accomplish all sorts of programming tasks, and hopefuly help to expand solutions, making F# easier for everyone.

The F# Koans

Learn F# by just filling in the gaps! The F# Koans are a fun set of code snippets where you have to fill in gaps to get tests to pass, and you learn the language along the way. Also available as a snippet which can be loaded into interactive environments or your editor of choice.


Learn F# by solving problems, testing your solutions, getting feedback from other developers, and reviewing other developers’ solutions! At last check, there are 112 F# problems just waiting for you to solve them.

F# Snippets

A collection of snippets of F# code.

F# Development Portal

The Microsoft documentation for F# provides a language reference, walkthroughs, videos, samples, and more. You can also contribute to the documentation on GitHub.

F# Programming Wikibook

The wikibook contains a comprehensive guide to F# programming. It covers F# language basics and essential functional programming concepts such as working with functions and immutable data structures. It also discusses imperative and object-oriented programming in F# and advanced langauge features such as active patterns and computation expressions.

Analyzing and Visualizing Data with F#

Tomas Petricek

This report explains many of the key features of the F# language that make it a great tool for data science and machine learning. Real world examples take you through the entire data science workflow with F#, from data access and analysis to presenting the results. You’ll learn about F# Data and type providers, the process of data analysis with Deedle and R type provider and the implementation of basic machine learning algorithm with F#.

F# Workshop Materials

Material from the F# Introduction Workshop created by Jorge Fioranelli.

Community for F# Coding Dojos

A range of coding dojos for F# from Community for F# including the famous Digits Recognizer, Fractal Forest, Canopy 2048, Markov Bot, Type Provider Treasure Hunt, Classics Mash-up and Ham or Spam dojos.

F# Developer Network (FSDN)

Site which allows interactive searches by an F# API. The F# API Search library document describes the search formats, which support the standard signature of F# with some extentions. Source code available on GitHub FSDN

Ultra-short F# tutorial/guide for C# developers

Very short tutorial/guide that shows the most important differences between C# and F#, with clear and concise examples.

Ultra-short F# tutorial/guide for Python developers

Very short tutorial/guide that shows the most important differences between Python and F#, with clear and concise examples.

F# Courses - General

Introduction to F#

FSharpTV is a crowdfunded company that produces F# courses with practical, real-world examples. The introductory course is free and accessible to everyone, including beginners.

F# Books - General

Building Web, Cloud, and Mobile Solutions with F#

Daniel Mohl

Learn how to build key aspects of web, cloud, and mobile solutions by combining F# with various .NET and open source technologies. With helpful examples, this hands-on book shows you how to tackle concurrency, asynchrony, and other server-side challenges. You’ll quickly learn how to be productive with F#, whether you want to integrate the language into your existing web application or use it to create the next Twitter.

Beginning F# 4.0

Robert Pickering, Kit Eason

This book is a great foundation for exploring functional-first programming and its role in the future of application development. The best-selling introduction to F#, now thoroughly updated to version 4.0, will help you learn the language and explore its new features.

Programming F# 3.0

Chris Smith

Why learn F#? This multi-paradigm language not only offers you an enormous productivity boost through functional programming, it also lets you develop applications using your existing object-oriented and imperative programming skills. With Programming F#, you’ll quickly discover the many advantages of Microsoft’s new language, which includes access to all the great tools and libraries of the .NET platform.

F# For C# Developers

Tao Liu

People often ask, “What can F# do that C# cannot?” In this book, you will discover much of what F# can do! You will see familiar things such as object programming and design patterns. Further, you will also see powerful new things like pattern matching, piping, first-class events, object expressions, options, tuples, records, discriminated unions, active patterns, agents, computation expressions and, perhaps most distinctively, type providers.

Expert F# 4.0

Don Syme, Adam Granicz, Antonio Cisternino

Expert F# 4.0 is about practical programming in a beautiful language that puts the power and elegance of data-rich functional programming into the hands of professional developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity.

The world’s experts in F# show you how to program in F# the way they do!

Real World Functional Programming

Tomas Petricek with Jon Skeet

Real World Functional Programming is a unique tutorial that explores the functional programming model through the F# and C# languages. The clearly presented ideas and examples teach readers how functional programming differs from other approaches. It explains how ideas look in F#-a functional language-as well as how they can be successfully used to solve programming problems in C#.

Functional Programming Using F#

Michael R. Hansen, Hans Rischel

This comprehensive introduction to the principles of functional programming using F# shows how to apply basic theoretical concepts to produce succinct and elegant programs. It demonstrates the role of functional programming in a wide spectrum of applications including databases and systems. Coverage also includes advanced features in the .NET library, the imperative features of F# and topics such as text processing, sequences, computation expressions and asynchronous computation. With a broad spectrum of examples and exercises, the book is perfect for courses in functional programming and for self-study. Enhancing its use as a text is an accompanying website with downloadable programs, lecture slides, a mini-projects and links to further F# sources.

F# for Scientists

Jon Harrop

F# for Scientists explains and demonstrates the powerful features of this important new programming language. The book assumes no prior experience and guides the reader from the basics of computer programming to the implementation of state-of-the-art algorithms. Written in a clear and concise style, F# for Scientists is well suited for researchers, scientists. It also serves as an ideal supplemental text for advanced undergraduate and graduate students with a background in science or engineering.

F# for Quantitative Finance

Johan Astborg

This book will cover everything you need to know about using functional programming for quantitative finance. Using a functional programming language will enable you to concentrate more on the problem itself rather than implementation details. Tutorials and snippets are summarized into an automated trading system throughout the book.

In this book you will:

The Book of F#

Dave Fancher

The Book of F# aims to introduce intermediate and experienced developers to functional-first programming with F#. Throughout the book, you’ll learn how this robust language can help you focus on creating correct solutions by introducing a variety of important concepts including currying, partial application, pattern matching, units of measure, asynchronous workflows, query expressions, type providers, and computation expressions. Furthermore, you’ll discover how F#’s rich object-oriented capabilities allow it to naturally fit into existing applications.

Programming Language Concepts

Peter Sestoft

The book Programming Language Concepts (PLC) provides an introduction to programming language concepts and implementation technology, such as interpretation, compilation, type checking and type inference, abstract machines, and garbage collection. F# is used as a meta language throughout the book expressing all concepts and examples of programming language design in a modern strongly-typed language of the ML-family, enabling the reader to experiment with the ideas right away.

F# Deep Dives

Tomas Petricek and Phillip Trelford

F# Deep Dives presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case where you’ll read how the author used F# to solve a complex problem more effectively than would have been possible using a traditional approach. You’ll not only see how a specific solution works in a specific domain, you’ll also learn how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments.

Machine Learning Projects for .NET Developers

Mathias Brandewinder

Machine Learning Projects for .NET Developers shows you how to build smarter .NET applications that learn from data, using simple algorithms and techniques that can be applied to a wide range of real-world problems.

Mastering .NET Machine Learning

Jamie Dixon

This book is packed with real-world examples to easily use machine learning techniques in your business applications. You will begin with introduction to F# and prepare yourselves for machine learning using .NET framework. You will be writing a simple linear regression model using an example which predicts sales of a product. Forming a base with the regression model, you will start using machine learning libraries available in .NET framework such as Math.NET, Numl.NET and Accord.NET with the help of a sample application. You will then move on to writing multiple linear regressions and logistic regressions.

Multi-Paradigm Programming Using F# and .NET

Ali Baghernejad

F# is the result of combining the power and capabilities of functional programming with with the imperative and object-oriented paradigms of .NET. Multi-Paradigm Programming In F# is a book that help developers to make applications using F# tools and the .NET libraries. This book is written in Persian language in 509 pages. In this book you will read:

F# Applied

Tamizhvendan S

“F# Applied” is an excellent introduction to applied, modern programming for the web. Starting with Suave, the F# server-side web framework, this book will teach you how to create complete applications using Functional-First Programming with F# In this book you will read:

Get Programming with F#

Isaac Abraham

Get Programming with F#: A guide for .NET Developers shows you how to upgrade your .NET development skills by adding a touch of functional programming in F#. In just 43 bite-sized chunks, you’ll learn how to use F# to tackle the most common .NET programming tasks.Examples use the familiar Visual Studio environment, so you’ll be instantly comfortable. Packed with enlightening examples, real-world use cases, and plenty of easy-to-digest code, this easy-to-follow tutorial will make you wonder why you didn’t pick up F# years ago! In addition to the language itself, other topics covered include:

By the end of the book, you’ll be able to use F# in your day-to-day development, and know how and where to deepen your knowledge.

F# for Machine Learning Essentials

Sudipta Mukherjee

This book is a fast-paced tutorial guide that uses hands-on examples to explain real-world applications of machine learning.

In this book you will:

F# 4.0 Design Patterns

Gene Belitski

This book will encourage enterprise developers coming to F# from other platforms to cultivate an idiomatic F# coding skillset by fully embracing the functional-first F# paradigm.

In this book you will:

Mastering F#

Alfonso García-Caro Núñez & Suhaib Fahad

This easy-to-follow guide with syntaxes will help you master the concepts of F#. Packed with in-depth examples of real-world uses, this book covers each topic in detail with a reference to C#, so you will understand the difference between the languages.

In this book you will:

F# High Performance

Eriawan Kusumawardhono

This easy-to-follow guide is full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used.

In this book you will:

Learning Basics of Functional Programming (Integrated Course)

Onur Gumus

Build end-to-end web applications with F# Develop web applications that includes server-side as well as the client-side programming using Fable, F# to JavaScript compiler.

F# ile Fonksiyonel Programlama (Türkçe/Turkish)

Ali Özgür

This book is the first and the only F# book in Turkish. The book covers F# and general functional programming principles.

F#, aktif ve bağımsız geliştirici topluluğu tarafından yön verilen, özellikle bulut teknolojileri, veri analizi ve bilimsel çalışmalarda kullanımı her geçen gün artan sade ve şık bir programlama dilidir. F# ile Microsoft’un .NET platformu üzerinde Windows, Linux ve OSX işletim sistemlerinde çalışabilen her çapta ve özllikte uygulamalar geliştirebilirsiniz. Hatta sistem yönetimi scriptlerinizi bile F# ile oluşturabilirsiniz. F# ile Fonksiyonel Programlama kitabında F#’ın sunduğu tüm bu imkanlar ile sizi tanıştırmayı ve bol kod örnekleri ile F#’ı özümsemenizi hedefliyoruz.

Building F# Applications (Video)

Richard Broida

Learn how to use F#’s functional features to rapidly turn requirements into software designs that are correct, complete, extensible, bug-free, and easy to read and understand.

F# Applied II

Tamizhvendan S

“F# Applied II” helps you to learn how to build a real-world, production-ready, end-to-end web application in F# using the functional programming principles by developing a Twitter clone from scratch.

In this book you will learn:

Stylish F#: Crafting Elegant Functional Code for .NET and .NET Core

Kit Eason

Stylish F# covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales.

What You’ll Learn

F# Books (Coming Soon)

Understanding Functional Programming

Scott Wlaschin

A practical approach with examples in F#. Are you an experienced C#, Java or Python developer? Do you want to understand what all the fuss about functional programming is about? Designed for beginners, this book will explain all the core concepts of functional programming in a practical way with no maths or jargon.