let rec fib = function
| 0 -> 1
| 1 -> 1
| n -> fib (n - 1) + fib (n - 2)
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Clean up user-entered phone numbers so that they can be sent SMS messages.
Convert a number to a string, the content of which depends on the number's factors.
Implement run-length encoding and decoding.
Powerful tools to define and manipulate complex data structures with ease.
No need for destructive updates to data structures or accidental mutation.
Increased performance and reduced runtime errors.
Can be passed like any value, used as arguments, and returned from other functions.
Automatic inference makes the code less verbose and developers more efficient.
Construct abstractions that work across data types, like generics in Java and templates in C++.
Every language has its own way of doing things. OCaml is no different. Our mentors will help you learn to think like a OCaml developer and how to write idiomatic code in OCaml. 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 OCaml - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The OCaml track on Exercism has 45 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 OCaml exercises
The best part, it’s 100% free for everyone.