As absolutely suitable for self study I would recommend:
I took the Programming Languages Course at Coursera and it was superb. Most of the course is based on SML.
The first first four weeks are entirely about SML. The material distributed in the course is great and every week there are plenty of interesting exercises to solve.
The good news is that this course is about to start in October 3, 2013 again. So this is your opportunity.
I own the list of books mentioned in the other answer. They all are very good. But I also own another one not mentioned above and that I considered great for initial ML learning: Elements of ML Programming by Jeffrey Ulman. In fact I preferred this to the others mentioned above because I found its explanations simpler and the exercises more progressively challenging.