正在安装 SML/NJ 库
Installing SML/NJ library
我需要为 ML 安装 QCheck/SML 单元测试库。
我可以 git 克隆代码,并创建 .cm
文件,但我不确定如何将生成的文件复制到哪里。该文件只是说 (http://contrapunctus.net/league/haques/qcheck/qcheck_2.html):
2.1 SML/NJ
For Standard ML of New Jersey, the CM library specification ‘qcheck.cm’ should be all you need. The default target of make -f
Makefile.nj will ask CM to build and stabilize this library. This
creates a file ‘.cm/x86-unix/qcheck.cm’ (alter the arch/os tag as
needed) which may be copied into the standard CM library path and
added to the ‘pathconfig’.
我在 Mac 中使用 brew install smlnj
进行 ML 安装,所以我在 /usr/local/Cellar/smlnj/100.78/SMLNJ_HOME
中安装了 SMLNJ_HOME
。
这里面的CM路径库是什么?一般来说,如何将库安装到SML/NJ?
编辑
根据 Matt 的回答,这就是我的工作方式。
设置
- 将整个 qcheck 目录复制到
/usr/local/Cellar/smlnj/110.78/SMLNJ_HOME/lib
.
- 创建
~/.smlnj-pathconfig
文件。
- 在文件中添加
qcheck.cm /usr/local/Cellar/smlnj/110.78/SMLNJ_HOME/lib/qcheck
。
用法(在 REPL 中)
- CM.make "$/qcheck.cm";
- 打开QCheck;
需要考虑的事项。
- 我无法使用稳定库 (qcheck/.cm/x86-unix/qcheck.cm)。所以,我不得不复制整个目录。
- 对于用户的库,我认为安装位置可以是任何地方,因为
~/.smlnj-pathconfig
可以指向目录。
- 要在同一目录中导入结构,需要
use "FILENAME";
而不是 CM.make
。
CM 库路径位于SMLNJ_HOME/lib
。您可以将 .cm
文件放在这里。说明说要修改 pathconfig
文件,但是,我建议改为在您的主目录中创建一个 .smlnj-pathconfig
文件。然后将以下行粘贴到该文件中:
qcheck.cm <path to directory containing qcheck.cm file>
然后您可以使用锚点名称在您的 .cm 文件之一中引用它:$/qcheck.cm
。我以前没有使用过稳定的库,生成的 .cm 文件给我一堆错误。如果您改为使用 qcheck 存储库根目录中的 qcheck.cm
文件,它似乎对我有用。也许其他人可以评论我为什么会收到这些错误。
我需要为 ML 安装 QCheck/SML 单元测试库。
我可以 git 克隆代码,并创建 .cm
文件,但我不确定如何将生成的文件复制到哪里。该文件只是说 (http://contrapunctus.net/league/haques/qcheck/qcheck_2.html):
2.1 SML/NJ
For Standard ML of New Jersey, the CM library specification ‘qcheck.cm’ should be all you need. The default target of make -f Makefile.nj will ask CM to build and stabilize this library. This creates a file ‘.cm/x86-unix/qcheck.cm’ (alter the arch/os tag as needed) which may be copied into the standard CM library path and added to the ‘pathconfig’.
我在 Mac 中使用 brew install smlnj
进行 ML 安装,所以我在 /usr/local/Cellar/smlnj/100.78/SMLNJ_HOME
中安装了 SMLNJ_HOME
。
这里面的CM路径库是什么?一般来说,如何将库安装到SML/NJ?
编辑
根据 Matt 的回答,这就是我的工作方式。
设置
- 将整个 qcheck 目录复制到
/usr/local/Cellar/smlnj/110.78/SMLNJ_HOME/lib
. - 创建
~/.smlnj-pathconfig
文件。 - 在文件中添加
qcheck.cm /usr/local/Cellar/smlnj/110.78/SMLNJ_HOME/lib/qcheck
。
用法(在 REPL 中)
- CM.make "$/qcheck.cm";
- 打开QCheck;
需要考虑的事项。
- 我无法使用稳定库 (qcheck/.cm/x86-unix/qcheck.cm)。所以,我不得不复制整个目录。
- 对于用户的库,我认为安装位置可以是任何地方,因为
~/.smlnj-pathconfig
可以指向目录。 - 要在同一目录中导入结构,需要
use "FILENAME";
而不是CM.make
。
CM 库路径位于SMLNJ_HOME/lib
。您可以将 .cm
文件放在这里。说明说要修改 pathconfig
文件,但是,我建议改为在您的主目录中创建一个 .smlnj-pathconfig
文件。然后将以下行粘贴到该文件中:
qcheck.cm <path to directory containing qcheck.cm file>
然后您可以使用锚点名称在您的 .cm 文件之一中引用它:$/qcheck.cm
。我以前没有使用过稳定的库,生成的 .cm 文件给我一堆错误。如果您改为使用 qcheck 存储库根目录中的 qcheck.cm
文件,它似乎对我有用。也许其他人可以评论我为什么会收到这些错误。