Search code examples
emacscmdsmlsmlnj

SML/NJ Error in Command Prompt


So I installed SML/NJ in Windows 10 using the Windows Installer Package "smlnj-110.79", and following the instructions in this coursera video lecture, i should be able to open the command prompt and access sml by typing "sml". However, when I return "sml" I'm prompted that "sml is not recognized as an internal or external command, operable program or batch file". I should note that it works fine if I open the actual SML/NJ program itself. I am trying to use SML/NJ within emacs, will this affect that? Thank you!


Solution

  • You need to add the directory containing SML to your system path. On my machine the path entry is C:\Program Files (x86)\SMLNJ\bin\. See this for modifying the path in Windows 10. If you haven't manually edited your path before (which seems to be the case given the question) you do need to be careful to add to rather than overwrite the current path. Windows has always been clunky in making this possible. This is an article that suggests some utilities. I haven't tried them, so I can't vouch for them.