首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SML/NJ基础库在Windows 10中不工作

SML/NJ基础库在Windows 10中不工作
EN

Stack Overflow用户
提问于 2016-01-15 04:26:28
回答 2查看 830关注 0票数 2

我在Windows10上使用最新版本的SMLNJ (110.79)。

我似乎不能使用任何SML基础库函数。

下面是我用List.filter尝试过的一个例子

代码语言:javascript
复制
fun isOdd nmbr = (nmbr mod 2) = 1;
List.filter isOdd [1,2,3,4,5];

这会产生以下错误

意外异常(bug?)在SML/NJ: Io Io:"C:\cygwin\home\larsberg\smlnj2\sml.boot.x86-win32\smlnj\basis.cm\x86-win32\basis.cm",bin 32-bin-prim-io:checkHndl: openRd: failed at: Basis/Implementation/IO/bin-io-fn.sml:617.25-617.71 ./cm/util/Safeio.sml:30.11 ../compiler/TopLevel/interact/evalloop.sml:44.55

基库中的其他函数也会产生相同的错误,例如Real.fromInt

this answer上的评论指出了一个类似的问题,但我不知道如何进行。

我错过了一些简单的东西吗?谢谢!

编辑:

在卸载和重新安装几次之后,它似乎正在工作。我暂时不提这个问题,因为我真的不知道是什么使它真正起作用了。

List.filter;给出了这个输出

代码语言:javascript
复制
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[library $SMLNJ-BASIS/(basis.cm):basis-common.cm is stable]
[autoloading done]
val it = fn : ('a -> bool) -> 'a list -> 'a list
EN

回答 2

Stack Overflow用户

发布于 2017-02-06 18:28:55

当移动已安装的目录或未设置SMLNJ主环境时,就会发生这种情况。基本上,sml无法找到basis.cm文件,该文件应该存在于$SMLNJ_HOME子目录中。因此,通过在中设置安装路径,$SMLNJ_HOME为我解决了这个问题。

代码语言:javascript
复制
  $SMLNJ_HOME=~/ws/CSCI-5161/sml
票数 2
EN

Stack Overflow用户

发布于 2017-09-15 18:34:15

我在Windows 7上,但也有同样的错误。将程序放在程序文件(X86)/SMLNJ中。我把SMLNJ文件夹移到Program /,现在不再收到错误了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34804406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档