sml错误插入EQUALOP

时间:2014-11-06 18:47:42

标签: sml

我正在使用emacs在sml中编写一个函数,当我尝试编译此代码时

fun tryDivide small n =
if n = 1 then true
else if ((small mod n) = 0) then tryDivide small (n-1)
else false

fun lcmHelper small div =
if tryDivide (small div) = false then lcmHelper ((small+div) div)
else small

(*Start by calling this*)
fun lcm d = 
val small = d
lcmHelper (small d)

应该找到可以除以d的最低值(有趣的lcm d) 我很确定该算法有效,但存在语法错误。

在“fun lcm d =”的开头,我收到一条错误,上面写着“插入EQUALOP时出错”

任何可能导致此问题的想法? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

fun lcm d =
  let 
    val small = d 
  in
    lcmHelper (small d)
  end