나는 newby입니다. 아래 코드를 작성합니다.구문 오류, 코드 오류를 확인하는 방법은 무엇입니까?
Delay(e) == fn() => e
Force(e) == e()
fun time_consuming(n) =
let fun tak(x, y, z) = if x <= y then y
else tak(tak(x-1,y,z), tak(y-1,z,x), tak(z-1,x,y))
in
fun tak(3*n, 2*n, n)
funend;
fun fib(n) = if n=0 orelse n=1 then 1 else fib(n-1) + fib(n-2);
fun odd(n) = (n mod 2) = 1;
fun f(x, y) = if odd(x) then 1 else fib(y);
f(fib(9), time_consuming(9));
fun lazy_f(x, y) = if odd(x) then 1 else fib(y());
lazy_f(fib(9), fn() => (time_consuming(9)));
게으른 평가 코드입니다.
하지만 약간의 오류가 있습니다.
lazy.sml:1.13 Error: syntax error: inserting LPAREN
lazy.sml:4.2 Error: syntax error: inserting LET
lazy.sml:12.44 Error: syntax error: replacing SEMICOLON with EQUALOP
lazy.sml:15.21 Error: syntax error: inserting LPAREN
lazy.sml:17.1 Error: syntax error found at EOF
이러한 오류의 의미는?