My first attempt to learn OCaml was back in January, it largely took the form of “write code and then ask Google why it doesn’t work.” You can see the results of that process at https://github.com/jsnider3/newbie_OCaml.

This wasn’t the fastest process and instilled in me a deep rage at OCaml for repeatedly failing to be Haskell. I decided to be more disciplined with my second attempt to learn OCaml and ordered a dead-tree copy of “More OCaml: Algorithms, Methods, and Diversions” by John Whitington.

The book starts off assuming the reader knows how to program, just like it’s advertised, and shoves all the details of writing a working OCaml into the preface. The first chapter is all about learning to appreciate the power of fold in functional programming and the second chapter is showing how to implement lazy lists in OCaml, just in case those snooty Haskellers think their language is more powerful.

Moving on through the book, experienced programmers learn how to do run-length encoding compression, a limited form of regexes, and playing tic-tac-toe in OCaml and eventually create pdfs programmatically.

The book uses an excessive amount of while and for loops, but it’s definitely a good book for experienced programmers wishing to learn OCaml to work through.

Click here to suggest a topic through GitHub. If you don't have a GitHub, feel free to email me.