
Elements of ML programming
by Jeffrey D. Ullman · first published 1994
86% recommend14% neutral
Why HN recommends it
Student-friendly introduction to Standard ML and the ML family of functional languages, built around a small, well-structured language and pattern matching examples. Suited to learning typed functional programming.
Summarised by Claude from recommending comments
This highly accessible introduction to the fundamentals of ML is presented by computer science educator and author, Jeffrey D. Ullman. The primary change in the Second Edition is that it has been thoroughly revised and reorganized to conform to the new language standard called ML97. This is the first book that offers both an accurate step-by-step tutorial to ML programming and a comprehensive reference to advanced features. It is the only book that focuses on the popular SML/NJ implementation. The material is arranged for use in sophomore through graduate level classes or for self-study. This
Affiliate links. As an Amazon Associate I earn from qualifying purchases.






Ullman, 'Elements of ML Programming'. It's where I learned functional programming back in the 1990's, and I still think it's one of the clearest expositions around. Yes, it's the same Ullman who wrote the dragon book.
on “Ask HN: Best books under 200 pages for developers?” ↗I picked up a used copy of Jeff Ullman's Elements of ML Programming a couple of months ago for less than five bucks. It strikes me as compact and readable in the K&R style, in that it doesn't get bogged down in the tedium of regurgitated technical details or over emphasis…
on “Programming in Standard ML (2011) [pdf]” ↗A couple of years ago I picked up a used copy of Ullman's Elements of ML Programming for about $5US. I found it more accessible.
on “ML for the Working Programmer, 2nd Edition (1996)” ↗It's a muddled mess in comparison and I would not advise it to anyone over Ullman's Elements of ML Programming or Harper's Programming in Standard ML. It's actually bad enough that it bothers me there's not more Standard ML books out there so people would stop mentioning it. I'd consider Ullman's ML book to be…
on “Programming in Standard ML (2011) [pdf]” ↗Try Ullman's wonderful 'Elements of ML Programming'. Standard ML is a pretty good place to start because it's a relatively small language with a pretty straightforward semantics, and Ullman did a really good job of getting students into the mindset.
on “Why Are So Many Developers Hating on Object-Oriented Programming?” ↗I suggested this somewhere else, but Ullman's old book 'Elements of ML Programming' is still a truly excellent introduction, and Standard ML is a much less exotic language than Haskell for someone coming from the OOP world.
on “Why Are So Many Developers Hating on Object-Oriented Programming?” ↗Hmm. My picks would be very different, aside from 'The Pragmatic Programmer', which is worth reading early in your career. Leo Brodie, 'Thinking Forth' Roland, 'Program Construction' Ullman, 'Elements of ML Programming' De Marco, 'The Deadline' Brooks, 'The Mythical Man-Month' Skiena, 'The Algorithm Design Manual' Hunt, 'The Pragmatic Programmer' Stevens, 'Advanced Programming in the Unix Environment' Stevens,…
on “Best Books for Programmers in 2020” ↗I am learning SML currently (with the book "Elements of ML Programming" by Jeffrey D. Ullman) and I have to say it is quite elegant. I like the pattern matching for functions. Often it is surprising how much shorter functions become, when you pattern match in the signature…
on “The Lisp Curse (2017)” ↗…first thing to make in SML waaay too complex. You already need to have a good understanding of the elements of SML syntax to understand how it works. This is definitely not for SML beginners. I recommend "Elements of ML Programming" by Jeffrey D. Ullman for people starting to learn SML. It too has some corners, that are less great for not so mathematically inclined people, but you will definitely learn the language and have exercises.
Elements of ML Programming stands out as one of my favorite programming books. It's the best introduction to the ML style of languages (OCaml, Haskell, SML, F#) that I've seen.
on “Programming in Standard ML (2011) [pdf]” ↗> I do wish there was an equivalent that used a statically typed language Not exactly an equivalent, but a very good book (that uses a statically typed language) is "Elements of ML Programming" by Ullmann.
on “If not SICP, then what? Maybe HTDP?” ↗…follow. I don't know the language and am confronted with this example, that makes use of many advanced capabilities of the language. Instead I looked for a book for beginners in Standard ML and found "Elements of ML Programming" to be quite good.
on “Programming in Standard ML [pdf]” ↗…state machine) with practical examples rather than theory. It does more showing than telling. </rather late book report> The relief staff in the bullpen includes: Programming Clojure, Stuart Halloway. Elements of ML Programming, Jeff Ullman. Extreme Programming in Practice, Newkirk and Bob.
on “Ask HN: What are you reading?” ↗Ever since I saw the cover of Elements of ML Programming [1], which shows the book as charting a course across "Logos Island", I've wondered what a programming language might look like as a navigable space. Perhaps something like walking through a syntax diagram,…
on “How do you visualize code?” ↗Reading and working my way through "Elements of ML Programming" (ML97 Edition). One of the many programming books I have, that I still want to get through. Slowly getting more productive using Standard ML. Once I have good understanding of all the language features,…
on “Ask HN: What's on your learning list?” ↗