Question

I have been looking for some good documentation on how to get Standard ML running on windows. Does anyone have a good guide on this?

I have tried compiling sml/nj in cygwin, using this guide: http://www.smlnj.org/install/index.html

$ config/install.sh
config/install.sh: Using shell /bin/sh.
config/install.sh: SML root is /usr/local/sml.
config/install.sh: Installation directory is /usr/local/sml.
config/install.sh: Installing version 110.74.
config/install.sh: URL of source archive is http://smlnj.cs.uchicago.edu/dist/working/110.74/.
config/install.sh: Script /usr/local/sml/bin/.arch-n-opsys reports ARCH=x86; OPSYS=win32; HEAP_SUFFIX=x86-win32.
/usr/local/sml/config/unpack: The run-time tree already exists.
config/install.sh: Compiling the run-time system.
(nmake /Fmakefile.win32 MAKE="nmake /Fmakefile.win32" RUNTIME="run.x86-win32.exe" VERSION="v-x86-win32" CC="cl" CFLAGS="/Zi" CPP="cl /E /EP" TARGET=X86 DEFS="  /DHOST_X86 /DTARGET_X86 /DOPSYS_WIN32 /DVREGS /DINDIRECT_CFUNC /DDLOPEN" XOBJS="" XLIBS="" LD_LIBS="" XCLIBS="" run.x86-win32.exe)
make: -c: Command not found
mk.x86-win32:26: recipe for target `all' failed
make: *** [all] Error 127
config/install.sh: !!! Run-time system build failed for some reason.

Any suggestions would be appreciated.

Was it helpful?

Solution

Moscow ML (MosML) works out of the box on Windows (No need for cygwin). You can either download a zip-file or a self-extracting installer.

The website also contains a fairly good documentation (good for some of the MosML specific parts) and links to other good references.

Regarding your issue, the guide you refer to doesn't mention compiling sml/nj on windows. Just by using cygwin doesn't make it "linux" (cygwin has quite some quirks). The source contains some notes on how to install (and compile) on cygwin. Note if you are using an older version of sml/nj, then it is not necessarily compatible with cygwin.

On a side note. There exists a msi installer for windows, why not use that?

OTHER TIPS

It has become a running gag in the long history of Standard ML that its best implementation is hardly known: Poly/ML.

The releases at Github also include MSIs for Windows.

If you are looking for a quick and dirty implementation you might want to try Cambridge ML. We use it for teaching undergraduates ML here in Cambridge. Not the best option for large scale development but adequate for teaching the basics of the language.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top