【发布时间】:2012-01-23 15:04:52
【问题描述】:
在学习 SML 时,我提出了以下问题。看这个例子:
fun check (elem,myList) =
let
fun check1 elem [] = fn (x,_,_) => elem > x
fun check2 elem [] = fn (_,y,_) => elem < y
in
if check1 andalso check2 then 1 else 0
end
问题是 IF THEN 规则在这里不起作用。为什么?据我了解 check1 和 check2 应该返回 BOOL 值,这允许使用 IF THEN。我尝试声明局部变量,但这无助于解决问题。
【问题讨论】: