Thanks for mentioning Emacs: You made me realize why this hadn't come up in the course notes or material for the Coursera class I'm doing[1]: they explicitly recomment using SML inside Emacs. Unfortunately, I'm a relatively long-time Vim user, and I'm just not comfortable editing in Emacs. So I came to this round-about solution.
[1]: https://class.coursera.org/proglang-2012-001/class/index