安装

标准 ML 有十几种实现方式。 MLton 生成非常优化的代码,但没有 REPLSML / NJ 是使用最广泛的,但是出于学习目的而具有稍微困难的错误消息。莫斯科 MLPoly / ML 很容易上手,但不支持 .mlb 包格式。但这对于入门并不重要。

以下是按操作系统划分安装 SML / NJ,Moscow ML 和 Poly / ML 的说明。

在 Windows 上

SML / NJ:

莫斯科 ML:

  • 转到 http://mosml.org/ 并单击“下载 Win.Installer”。运行安装程序。
  • 你现在有一个例如 C:\Program Files (x86)\mosml\bin\mosml.exe 的 REPL。

在 MacOS 上使用 Homebrew

SML / NJ:

  • 以自己的用户身份运行 brew install smlnj。用 smlnj 测试 REPL。

莫斯科 ML:

  • 转到 http://mosml.org/ 并单击“下载 PKG 文件”。运行安装程序。
  • 缺少…测试 REPL 怎么样?现在是在 $PATH 吗?

在 Ubuntu / Debian Linux 上

SML / NJ:

  • 以超级用户身份运行 sudo apt-get install smlnj。用 smlnj 测试 REPL。

莫斯科 ML:

  • (Ubuntu) 将 PPA 添加为超级用户。用 mosml 测试 REPL。

    sudo add-apt-repository ppa:kflarsen/mosml
    sudo apt-get update
    sudo apt-get install mosml
    

添加 readline 支持

为了能够使用箭头键来导航先前输入到 REPL 中的行,大多数 SML 编译器都可以从程序 rlwrap 中受益。在 MacOS 上使用 Homebrew,通过 brew install rlwrap 安装,在 Ubuntu / Debian Linux 上,通过 sudo apt-get install rlwrap 安装。然后在终端中尝试以下操作:

alias mosml='rlwrap mosml -P full'
alias sml='rlwrap sml'
alias poly='rlwrap poly'

这些别名可以添加到例如你的~/.bashrc 中,因此它们默认工作。

箭头键现在应该更好。