Top | Titles | Authors | Subjects | Chronological | Current | Unread | Links | FAQ

Elements of ML Programming

[cover]

by Jeffrey D. Ullman


isbn: 0137903871
subject: Nonfiction, Computing
finished: 8/2/2001


According to a web page at Bell Labs:

Standard ML is a safe, modular, strict, functional, polymorphic programming language with compile-time type checking and type inference, garbage collection, exception handling, immutable data types and updatable references, abstract data types, and parametric modules.

That's a mouthful, but the upshot is that ML has some of the good features of Pascal-like programming languages such as static typing, some of the good features of Lisp-like languages such as garbage collection and higher-order functions, and some innovative features of its own such as pattern matching and type inferencing. The resulting language is powerful and elegant, but fairly different for those of us used to imperative languages.

There's a period of time during the process of learning a new programming language where one writes a couple of small- to medium-sized programs and invariably tries to use an introductory book as a reference manual -- this is frustrating since it's rare for even a good introductory book to serve as an adequate reference manual. Elements of ML Programming is not superb in this respect but it is good enough to get the reader through some basic test programs, thus minimizing the pain of this already frustrating time and delaying the need to buy a language reference manual.

Elements of ML Programming is a good introduction to ML. It's not designed to teach programming -- it assumes that the reader knows a Pascal-like language. However, other than that, it does start at the beginning with respect to functional programming, parametric polymorphism, and other advanced language features. It continues through most of the standard language features -- functions, compound data types, and features supporting modular programming -- and ends up with a description of the standard library and ML's syntax. Good use of examples is made throughout the book and I think it does a good job balancing the tension between keeping things simple and providing an exhaustive description of every language feature. Recommended.



Top | Titles | Authors | Subjects | Chronological | Current | Unread | Links | FAQ


copyright © 2001 John Regehr