SML Ml编程函数is_older日期与布尔条件

Sat*_*ngh 2 functional-programming ml sml smlnj

我是ML编程的新手,我有一个编写函数is_older的函数,它接受两个日期并计算为true或false.如果第一个参数是第二个参数之前的日期,则计算结果为true.
(如果两个日期相同,则结果为false.)

val is_older = fn : (int * int * int) * (int * int * int) -> bool // Binding Like
Run Code Online (Sandbox Code Playgroud)

我试过这个(使用SML of New Jersy cmd提示)

fun is_older((y1,m1,d1),(y2,m2,d2))= if (y1<y2) then true 
else if (y1=y2 andalso m1<m2) then true 
else if (y1=y2 andalso m1=m2 andalso d1<d2) then true;
Run Code Online (Sandbox Code Playgroud)

它给出了错误

Error syntax error: deleting SEMICOLON ID 
Run Code Online (Sandbox Code Playgroud)

sep*_*p2k 5

你的上一个if没有else- 这是SML中的语法错误.