🎉 Exercism Research is now launched. Help Exercism, help science and have some fun at research.exercism.io 🎉

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

15 Mentors

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

4,741 Students

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

119 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 Aleksander Heintz

Aleksander Heintz My blog

I love programming, and do it both professionally and as a hobby. At work I do most javascript and typescript, but I've also done a lot of F# and C#.
Avatar of Jorge Gueorguiev Garcia

Jorge Gueorguiev Garcia https://github.com/MiyamotoAkira

I have been getting in and out of F# for a while, although I haven't been able to use it on a production system yet. I love the syntax, the Hindley-Milner type system, and the use of indentation for scope. I have used other functional languages like Clojure (professionally) and Elixir.
Avatar of John Reese

John Reese I sometimes write about stuff

I am a software engineer with a passion for testing. If you have any questions about the track or the language in general, feel free to ask; I'd love to hear them.
Avatar of Scott Hutchinson

Scott Hutchinson My GitHub Page

I develop data analysis applications for Windows using Functional Programming in C++, F#, VB .NET, and C#.
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.
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.
Fun. Challenging. Interesting

Community-sourced F# exercises

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

Robot Name
medium
randomness
strings
Matching Brackets
medium
parsing
strings
Affine Cipher
easy
cryptography
math
strings
Anagram
medium
filtering
strings
Yacht
medium
discriminated unions
games
parsing
Roman Numerals
medium
recursion
transforming
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 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