4

我一直在寻找一些关于如何让 Standard ML 在 Windows 上运行的好文档。有人对此有很好的指导吗?

我曾尝试使用本指南在 cygwin 中编译 sml/nj: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.

任何建议,将不胜感激。

4

3 回答 3

4

莫斯科 ML (MosML) 在 Windows 上开箱即用(不需要 cygwin)。您可以下载 zip 文件或自解压安装程序。

该网站还包含一个相当不错的文档(适用于某些 MosML 特定部分)和指向其他良好参考的链接。

关于您的问题,您参考的指南没有提到在 Windows 上编译 sml/nj。仅仅使用 cygwin 并不能使它成为“linux”(cygwin 有很多怪癖)。源代码包含一些关于如何在 cygwin 上安装(和编译)的注释。请注意,如果您使用的是旧版本的 sml/nj,那么它不一定与 cygwin 兼容。

在旁注中。有一个适用于 Windows 的 msi 安装程序,为什么不使用它呢?

于 2012-04-10T22:02:36.963 回答
2

在标准 ML 的悠久历史中,它的最佳实现鲜为人知:Poly/ML已成为一个流行的噱头。

Github 上的版本还包括适用于 Windows 的 MSI。

于 2013-10-08T19:44:37.597 回答
1

如果您正在寻找一个快速而肮脏的实现,您可能想尝试Cambridge ML。我们用它在剑桥教授本科生 ML。不是大规模开发的最佳选择,但足以教授语言的基础知识。

于 2012-05-16T14:07:36.390 回答