Functional programming SML Ml编程函数是带有布尔条件的较旧日期

Functional programming SML Ml编程函数是带有布尔条件的较旧日期,functional-programming,sml,smlnj,ml,Functional Programming,Sml,Smlnj,Ml,我是ML编程的新手,我有一个家庭作业要写一个函数,它需要两个日期,计算结果为真或假。如果第一个参数是第二个参数之前的日期,则其计算结果为true。 (如果两个日期相同, 结果是错误的。) 我尝试了这个(使用新Jersy cmd提示符的SML) 如果中没有else,则最后一个-这是SML中的语法错误。的乐趣更老((y1:int,m1:int,d1:int),(y2:int,m2:int,d2:int))= fun is_older((y1 : int,m1 : int,d1 : int),(y2

我是ML编程的新手,我有一个家庭作业要写一个函数,它需要两个日期,计算结果为真或假。如果第一个参数是第二个参数之前的日期,则其计算结果为true。
(如果两个日期相同, 结果是错误的。)

我尝试了这个(使用新Jersy cmd提示符的SML)


如果中没有else,则最后一个
-这是SML中的语法错误。

的乐趣更老((y1:int,m1:int,d1:int),(y2:int,m2:int,d2:int))=
fun is_older((y1 : int,m1 : int,d1 : int),(y2 : int, m2 : int, d2 : int))=
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 
      else false;
如果y1
Cap F是我的打字错误,我正在使用
fun
@satindersingh当你问问题时,不应该重新键入你的代码-你应该复制并粘贴。如果您在发布代码时出现新错误,那么回答您的问题就更难了。谢谢您,先生,您在我愚蠢的问题上花费了宝贵的时间。您可以通过阅读类似的问题@pad:thnks for link来认识到您的错误,我几乎也犯了同样的错误,那么我错在哪里呢?您忘记了
else false
分支。为了改进您的代码,请在那里查看答案。@pad:谢谢您,先生,我明白了,这是我愚蠢的错误,使我陷入了超过半个小时的麻烦中。
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;
Error syntax error: deleting SEMICOLON ID 
fun is_older((y1 : int,m1 : int,d1 : int),(y2 : int, m2 : int, d2 : int))=
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 
      else false;