获取错误未绑定变量或构造函数

Getting error unbound variable or constructor

代码在新泽西州 v110.78 的在线标准 ML 上 运行 没问题,但在 unix 上显示错误 SNL/NJ .93。 这是代码

fun check( num:int ) = 

 let
   val x = List.tabulate(num, fn x => x*x)
   val k =tl(x)
   val y = List.filter( fn z => num mod z = 0)k
   val ans = List.last(y)
   val final = Real.ceil(Math.sqrt (Real.fromInt ans))
 in
 final
 end;
val nu = check(8)

错误是数学的制表、过滤器、last、ceil 和未绑定结构中的未绑定构造函数或变量。

听起来您在 SML/NJ.93 中的标准库配置不正确。如果您阅读 Whosebug 问答 how to install SML-New jersey .93 version?,您会看到

SMLNJ version 0.93 was released in 1993. It is available for historical purposes. [...] It was never tested on any version of Microsoft Windows [...] It is highly unlikely to run natively under Windows [...]

我建议不要使用此版本,除非您愿意处理并非为我们时代的操作系统设计的 运行 软件的后果,无论是 Windows 还是别的。