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

Binary Search Tree
medium
optional values
searching
trees
Difference Of Squares
easy
integers
math
Nucleotide Count
easy
maps
strings
Custom Set
medium
sets
DOT DSL
medium
domain specific languages
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