🎉 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

5,846 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 Miguel Bernard

Miguel Bernard My blog

I have over 10 years of experience with Microsoft Technologies. Specialized with many things in the Microsoft ecosystem, including C#, F#, and Azure.
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 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 Michael Priestman

Michael Priestman https://github.com/mpriestman

I have been writing F# professionally for over a year, including one relatively large project. I like the pragmatic approach it takes to functional programming. I also enjoy working with other similar languages such as OCaml, Elm and Haskell.
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 Craig Chamberlain

Craig Chamberlain https://github.com/CraigChamberlain

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

Ledger
medium
globalization
refactoring
text formatting
Markdown
medium
parsing
refactoring
transforming
Roman Numerals
medium
recursion
transforming
Grep
medium
files
searching
text formatting
Rest API
medium
json
parsing
Perfect Numbers
easy
discriminated unions
integers
math
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 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.
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.

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

Join the F# Track