原文在这里
http://blog.csdn.net/g9yuayon/article/details/1126396
里面谈到 bool的定义
let TRUE = lambda x y . x
let FALSE = lambda x y . y
由此引出
let BoolAnd = lambda x y . x y FALSE
let BoolOr = lambda x y. x TRUE y
let BoolNot = lambda x . x FALSE TRUE
对着上面的定义就很好理解了。
比如 BoolAnd x为TRUE的时候就是以y的结果为主,而x为FALSE的时候结果应该直接设置成FALSE。所以FALSE放在后面。
lamdba算子挺有意思的~