module HelloWorld let hello = "Hello, World!"
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Reparent a graph on a selected node
Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.
Refactor a ledger printer.
F# code is very expressive, requiring little code for great results
F#'s powerful type system is a joy to work with
F#'s type system helps catch errors at compile-time. No more null-reference exceptions!
F# is primarily a functional language, but also has great object-oriented support
As a member of the .NET ecosystem, F# enjoys full, two-way compatibility with C# code/libraries
F# has excellent tooling, with linting and refactoring options built-in
Every language has its own way of doing things. F# is no different. Our mentors will help you learn to think like a F# developer and how to write idiomatic code in F#. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in F# - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The F# track on Exercism has 13 concepts and 135 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.See all F# exercises
The best part, it’s 100% free for everyone.