I’m going to work through
SLOWLY over MANY MONTHS.
The reason is that I’ve never learned a statically typed functional programming language, I feel weak on recursive data type definitions, and I am curious about compiler and interpreter construction. So, I’m looking for a way to learn about all 3 at once.
- Proven, excellent pedagogical language with great resources.
- Smaller than OCaml, F#, and Haskell; so I won’t get distracted with tons of “stuff”
- Puts me in a good position if I wanted to use it “for real” that OCaml, F#, Haskell, or even Scala and some other ML in Java languages would be a good follow up path in terms of leveraging the investment.
Basically when I sit down to learn the basics of anything from #2 I feel like they assume you know the basics of ML, and well, I don’t!
Let me know if you want to review problems together.
5 thoughts on “A Slow Study Group for ML”
I can strongly recommend “Elements of ML Programming” by Ullman. It’s very clear, very well written, and (best of all) has a ton of examples and exercises.
Also, Bob Harper at CMU has recently posted an updated version of “Programming in Standard ML”, available at
as part of CMU’s new “functional first, imperative later, OO optional” CS curriculum — he’s also been blogging his experiences with that curriculum, which makes a good read, and has some good ML content and background:
Here is another link, don’t recall the source: