Learn F#
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 27 lessons
Start here if you have never written a line of F before. No F or functional programming experience is required, though knowing the basics of...
Lessons in this module
What Is F#? Why Learn F#? What Can You Do With F#? Installing F# Setting Up Your Environment Your First Program How F# Code Runs Values and Immutability Data Types Type Inference Strings Numbers and Math Booleans and Comparisons if/then/else Expressions Functions Pipelines and Composition Currying and Partial Application Lambdas and Higher-Order Functions Tuples Lists Arrays and Sequences Working with Collections Loops Pattern Matching Basics Options: No More null Input and Command-Line Arguments Comments and Style -
2
Beginner Projects Beginner 1 lesson
Build these on your own using what you learned in Level 1. Each one uses values, functions, pipelines, lists, pattern matching, and options....
-
3
Level 2 — Intermediate Intermediate 18 lessons
These lessons cover records, discriminated unions, pattern matching in depth, Result and exceptions, maps and sets, sequences and laziness,...
Lessons in this module
Records Discriminated Unions Pattern Matching in Depth Result and Error Handling Exceptions Maps and Sets Sequence Expressions and Laziness Recursion and Tail Calls Modules and Namespaces Generics Classes and Members Interfaces, Inheritance, and Object Expressions Strings and Regular Expressions Working with Files Mutable .NET Collections Projects and NuGet Packages Active Patterns Units of Measure -
4
Intermediate Projects Intermediate 1 lesson
Build these using records, discriminated unions, Result, modules, files, and active patterns from Level 2. 1. Bank Account Ledger Model tran...
-
5
Level 3 — Advanced Advanced 15 lessons
These lessons cover computation expressions and writing your own, async and task, agents with MailboxProcessor, designing with types, inline...
Lessons in this module
Computation Expressions Writing Your Own Computation Expression Async and Task Agents with MailboxProcessor Designing with Types Inline Functions and SRTP Type Providers Interop with C# and .NET JSON and Serialization Testing with Expecto and xUnit Web Development with Giraffe, Saturn, and Falco Fable: F# in the Browser Scripting with .fsx Performance Shipping F# to Production -
6
Advanced Projects Advanced 1 lesson
Build these using computation expressions, async, testing, web frameworks, and the production practices from Level 3. 1. A JSON Web API Buil...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Values, immutability, and type inference — and when mutable is fine Functions, currying, partial application, pipel...