安装SML / NJ库

时间:2015-08-06 15:58:30

标签: unit-testing sml ml

我需要为ML安装QCheck/SML单元测试库。

我可以克隆代码并创建.cm文件,但我不确定如何将生成的文件复制到哪里。该文件简单地说(http://contrapunctus.net/league/haques/qcheck/qcheck_2.html):

  

2.1 SML / NJ

     

对于新泽西州的标准ML,CM库规范“qcheck.cm”应该是您所需要的。 make -f的默认目标   Makefile.nj将要求CM构建并稳定此库。这个   创建一个'.cm / x86-unix / qcheck.cm'文件(将arch / os标签改为   需要)可以复制到标准CM库路径和   添加到'pathconfig'。

我在Mac中使用brew install smlnj进行ML安装,因此SMLNJ_HOME位于/usr/local/Cellar/smlnj/100.78/SMLNJ_HOME

enter image description here

这是什么CM路径库?一般来说,如何将库安装到SML / NJ中?

修改

从Matt的回答中,我就是这样做的。

设置

  1. 将整个qcheck目录复制到/usr/local/Cellar/smlnj/110.78/SMLNJ_HOME/lib
  2. 制作~/.smlnj-pathconfig档案。
  3. 在文件中添加qcheck.cm /usr/local/Cellar/smlnj/110.78/SMLNJ_HOME/lib/qcheck
  4. 用法(在REPL中)

    1. CM.make“$ / qcheck.cm”;
    2. 打开QCheck;
    3. 需要考虑的事项。

      1. 我无法使用稳定的库(qcheck / .cm / x86-unix / qcheck.cm)。所以,我不得不复制整个目录。
      2. 对于用户的库,我认为安装位置可以在任何地方,因为~/.smlnj-pathconfig可以指向目录。
      3. 要在同一目录中导入结构,需要use "FILENAME";而不是CM.make

1 个答案:

答案 0 :(得分:1)

CM库路径位于SMLNJ_HOME/lib。您可以在此处放置.cm文件。说明要修改pathconfig文件,但是,我建议您在主目录中创建一个.smlnj-pathconfig文件。您将要将以下行粘贴到该文件中:

qcheck.cm <path to directory containing qcheck.cm file>

然后,您可以使用锚名称$/qcheck.cm在您的.cm文件中引用它。我之前没有使用过稳定的库,生成的.cm文件给了我一堆错误。如果您改为使用qcheck repo根目录中的qcheck.cm文件,它似乎对我有用。也许其他人可以评论我为什么会收到这些错误。