In this appendix I describe some of the resources available for learning SML and SML/NJ in particular. The Standard ML of New Jersey home page [SML] has links to these and more.
The SML/NJ home page recommends two books: ML for the Working Programmer[Paulson] and Elements of ML Programming[Ullman]. Both of these address the 1997 revision of the language[Milner]. Earlier books only cover the 1990 definition..
Of the two I've only read the Paulson book. It is aimed at the more experienced programmer. It's major worked programming example is a simple mathematical theorem prover. This is based on the author's experience with the Isabelle theorem prover (see [SMLProjects]). You'll also find some focus on other top-shelf subjects such as lambda calculus and formal reasoning about programming.
The Ullman book is an introductory book on programming with SML which assumes no previous knowledge of functional programming. It focuses on using the SML/NJ implementation.
Robert Harper has had tutorial notes on SML available for a number of years. Recently he has expanded these into book form entitled Programming in Standard ML. At the time of writing you can download a draft copy of the book in PDF format from his home page at [HarperHome].