1. 在做Programming Language Part A的ML作业时,函数都写完了,使用use命令一运行就报下面这个错误
stdIn:1.6 Error: syntax error found at TYVAR
关键是Google了很久都没找到答案,把函数拆开运行有没问题,琢磨了很久才发现是use命令的使用有问题,文件名外面是双引号
如下所示。
use "hello.sml";
2. 后面又遇到一堆向下面这样的错误
hw1.sml:1.377 Error: syntax error: inserting LPAREN
hw1.sml:1.524 Error: syntax error: inserting RPAREN
hw1.sml:1.2185 Error: syntax error: inserting LPAREN
hw1.sml:1.2269 Error: syntax error: inserting LET
hw1.sml:1.1593 Error: syntax error found at EOF
但是把函数全复制出来运行又是ok的,就这个东西搞了我几个小时,还好最后也解决了。原因是用use命令使用文件,每个函数后面要加; 就像下面这样
fun abs(x : int) =
if x < 0
then ~x
else x;
fun not(a : bool) =
if a
then false
else a;