ML / SML 常见错误解决办法

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;

 

你可能感兴趣的:(Programming,Language,Part,A)