I would also add "ML for the working programmer", which is, perhaps surprisingly, more about functional programming than the particularities of ML. In any case, it is a great book.
The Little MLer: http://www.ccs.neu.edu/home/matthias/BTML/ which you can read with the revised Programming in SML http://www.cs.cmu.edu/~rwh/isml/book.pdf
Discrete Math & Functional Programming: https://cs.wheaton.edu/~tvandrun/dmfp/
Parallel & Sequential Algorithms uses SPARC which is similar to SML for examples in the book http://www.parallel-algorithms-book.com/