OCaml is a great language. I&#x27;m so glad I was forced to learn at in university. Apart from the language itself, the ecosystem surrounding it is very mature as well.<p>- OCamlbuild is the bee&#x27;s knees. Configuring complex projects requires just one line in the Makefile<p>- OPAM works wonderfully. No configuration required. Everything just works.<p>- Merlin (<a href="https:&#x2F;&#x2F;github.com&#x2F;the-lambda-church&#x2F;merlin" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;the-lambda-church&#x2F;merlin</a>) is incredible. If you use Vim &#x2F; Emacs, you owe it to yourself to set it up and have better syntax highlighting, indentation and type information right within your editor.<p>- Approachable online guides to get started. RWO[1] is a fantastic resource and teaches you the good parts right from the start.<p>- Utop (<a href="https:&#x2F;&#x2F;github.com&#x2F;diml&#x2F;utop" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;diml&#x2F;utop</a>) is a very modern, fully-featured REPL (almost as good as IPython)<p>----------<p>If you&#x27;ve been thinking of learning OCaml, here are a few useful resources -<p>- Real World OCaml [RWO] - <a href="https:&#x2F;&#x2F;realworldocaml.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;realworldocaml.org&#x2F;</a><p>- Using, Understanding, and Unraveling the OCaml Language - <a href="http:&#x2F;&#x2F;caml.inria.fr&#x2F;pub&#x2F;docs&#x2F;u3-ocaml&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;caml.inria.fr&#x2F;pub&#x2F;docs&#x2F;u3-ocaml&#x2F;index.html</a><p>- Developing applications with OCaml - <a href="http:&#x2F;&#x2F;caml.inria.fr&#x2F;pub&#x2F;docs&#x2F;oreilly-book&#x2F;html&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;caml.inria.fr&#x2F;pub&#x2F;docs&#x2F;oreilly-book&#x2F;html&#x2F;index.html</a><p>- System programming in OCaml - <a href="https:&#x2F;&#x2F;ocaml.github.io&#x2F;ocamlunix&#x2F;ocamlunix.html" rel="nofollow">https:&#x2F;&#x2F;ocaml.github.io&#x2F;ocamlunix&#x2F;ocamlunix.html</a><p>Lastly, if you are out of ideas on what to build with OCaml, try out these courses for some challenging programming assignments<p>- Functional Programming (Princeton) : <a href="http:&#x2F;&#x2F;www.cs.princeton.edu&#x2F;~dpw&#x2F;courses&#x2F;cos326-12&#x2F;info.php" rel="nofollow">http:&#x2F;&#x2F;www.cs.princeton.edu&#x2F;~dpw&#x2F;courses&#x2F;cos326-12&#x2F;info.php</a><p>- Programming Languages and Compilers (UIUC): <a href="https:&#x2F;&#x2F;courses.engr.illinois.edu&#x2F;cs421&#x2F;fa2014&#x2F;" rel="nofollow">https:&#x2F;&#x2F;courses.engr.illinois.edu&#x2F;cs421&#x2F;fa2014&#x2F;</a>