F#

Join the F# Track
F# is a strongly-typed, functional language that is part of Microsoft's .NET language stack. Although F# is great for data science problems, it can elegantly handle almost every problem you throw at it.
Join the F# Track
Track mentors

11 Mentors

Our mentors are friendly, experienced F# developers who will help teach you new techniques and tricks.
Track students

2,562 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

118 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About F#

module HelloWorld

let hello = "Hello, World!"

F# is a strongly-typed, functional language that is part of Microsoft's .NET language stack.

Although F# is great for data science problems, it can elegantly handle almost every problem you throw at it.

As F# runs on the .NET runtime, you get access to the entire .NET ecosystem, including all packages on nuget.org.

Integration with existing .NET code is further simplified due to F# also allowing you to write object-oriented code.

The home page for F# is fsharp.org and a great introduction to F# can be found at the F# for fun and profit website.

Join the F# track

I really like the ability to look at other people's solutions.

I'm working through the F# and Python tracks at the moment. Really like the ability to look at other people's solutions. I've had some helpful comments from others too.

Relaxed. Encouraging. Supportive.

Meet the F# Track mentors

Once you join the F# language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Yakov Gnusin

Yakov Gnusin https://github.com/ignusin

I used imperative languages like C# and Java for ages. I became a big fan of functional programming recently with F#. I'd love to help other people to master that technology as well.
Avatar of Fernando Soto

Fernando Soto https://github.com/Fernando-Soto

I am retired and professionally I have fixed computers and more recently have programmed device drivers for them. I love helpping others doing the same.
Avatar of Craig Chamberlain

Craig Chamberlain https://github.com/hagatorn

I'm learning F# as my first functional language, coming from c#, and want to get the most from the functional paradigm. Reflecting on mine and others code is a great way to master this very powerful language and programming style.
Avatar of Jo Van Eyck

Jo Van Eyck https://github.com/jovaneyck

Software crafter, legacy code wrestler. I help companies get things done without shooting themselves in the foot and teach others how to do it. I use F# at work for everything except production code!
Avatar of Sirapop Chaimanasuksri

Sirapop Chaimanasuksri https://github.com/tsctao

I currently use F# in my projects at work. I'm also experienced in JS and PHP
Avatar of Mark Elston

Mark Elston

I have used F# for several projects, but only one professionally. I enjoy the language for its support of elegant solutions. I find it to be an outstanding language for learning FP.
Fun. Challenging. Interesting

Community-sourced F# exercises

These are a few of the 118 exercises on the F# track. You can see all the exercises here.

Simple Cipher
medium
algorithms
strings
transforming
Rail Fence Cipher
medium
algorithms
strings
transforming
Yacht
medium
discriminated unions
games
parsing
Hamming
easy
filtering
strings
Book Store
medium
recursion
Bank Account
medium
concurrency
optional values
Passionate. Knowledgeable. Creative.

Meet the F# Track maintainers

The F# Maintainers are the brains behind the F# Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Rob Keim

Rob Keim

I stumbled upon this site when I was trying to learn about functional programming and F#. Little did I know, I'd wind up becoming a contributor and learning a whole lot more than what I originally intended to. I had never contributed to an open source project before, and it's been a very rewarding experience.
Avatar of Davide Lettieri

Davide Lettieri My blog

I am a .NET developer and a former mathematician, I like functional languages and F# it's an obvious fit since it runs on .NET
Avatar of Erik Schierboom

Erik Schierboom My blog

I am a developer with a passion for learning new languages. After falling in love with functional languages, F# quickly became my favorite language.

Get started with the F# track. As with everything on Exercism, it's 100% free!

Join the F# Track