Functional programming 如何在Mac上安装标准ML的工作版本?

Functional programming 如何在Mac上安装标准ML的工作版本?,functional-programming,sml,smlnj,Functional Programming,Sml,Smlnj,我使用的是MacOSX10.7.5,我似乎无法下载一个带有REPL的标准ML编译器。这应该很难吗?是否有一个最好的ML,我应该下载。我试过SML/NJ和MLton,但都没用。我做了以下几件事: --从下载合适的(适用于您的操作系统).dmg文件 --在~/.bash_配置文件中:export PATH=“$PATH:/usr/local/smlnj-110.75/bin” --通过执行source.bash\u profile运行您的bash\u profile --转到端子并键入sml 我个人

我使用的是MacOSX10.7.5,我似乎无法下载一个带有REPL的标准ML编译器。这应该很难吗?是否有一个最好的ML,我应该下载。我试过SML/NJ和MLton,但都没用。

我做了以下几件事:

--从下载合适的(适用于您的操作系统).dmg文件

--在~/.bash_配置文件中:export PATH=“$PATH:/usr/local/smlnj-110.75/bin”

--通过执行source.bash\u profile运行您的bash\u profile

--转到端子并键入sml

我个人对emacs使用sml模式。将以下内容添加到.emacs文件中,并确保sml模式已从M-list-packages安装到emacs中

(setenv“路径”(concat)/usr/local/smlnj-110.75/bin:(getenv“路径”))

(setq执行路径(cons)/usr/local/smlnj-110.75/bin“执行路径”)


您可以通过C-C-s在emacs中启动sml REPL。

您可以从中尝试Moscow ML-也有一个适用于OS X的。Moscow ML通常不如sml/NJ受欢迎,但有一个非常好的REPL,其中包含可理解的错误消息。这是一个极好的学习环境。

我从


然后安装它,并访问它在
/usr/local/smlnj/bin/sml

如果您不介意使用大约600 MB的磁盘空间进行较大的下载,您可以尝试Isabelle/ML。Isabelle主要是一个定理证明环境,但它基于Poly/ML,包括一个合理的IDE:Isabelle/jEdit

要用Isabelle/ML编写SML,需要将其纳入如下理论来源:

theory Scratch
imports Main
begin

ML {* fun f 0 = 1 | f n = n * f (n - 1) *}

ML {* f 42 *}

end

Mac用户也可以使用

$ brew install smlnj
将类似于
/usr/local/ceral/smlnj/110.82/libexec/bin的路径添加到.bash\u配置文件中

$ source ~/.bash_profile

有关更多信息,请参阅。

谢谢。我用一个叫Poly的SML让它工作。你听说过吗?我希望它和NJMLPLY/ML一样好,NJMLPLY/ML众所周知是未知的,但比SML/NJ好得多:更快的编译器生成更快的代码。谢谢,在遵循您的说明时,我在Mavericks上遇到了一些问题。在Mavericks上安装时,二进制文件会出错。幸运的是,按照说明在
/usr/local/smlnj-110.75/config/_arch-n-opsys
中添加一行代码解决了安装问题。Emacs包运行良好,只是C-C-s什么都不做。另外,您可能指的是
M-x列表包
而不是
M-list-packages
。给定链接的可能副本也包含答案。对于SML/NJ,今天应该首选此答案。