我可以简化以下Haskell lambda吗?

Roh*_*hit 3 haskell

我想使用组合或一些更高阶的魔法来简化以下lambda,

(\a b -> if (b) then (not a) else a)
Run Code Online (Sandbox Code Playgroud)

但我想不出一个聪明的方法.你能帮帮我吗?

谢谢.

luq*_*qui 12

我们来看一下真​​值表:

   a    b      f
------------+------- 
False False | False
False True  | True
True  False | True
True  True  | False
Run Code Online (Sandbox Code Playgroud)

那很有意思! fTrue每当输入是不一样的.嗯......

  • @Rohit,太棒了!顺便说一句,在Haskell中,拼写为`/ =`.你可以把`(\ ab - > a/= b)`写成简单的`(/ =)`; 这是一个适用于所有中缀运营商的符号. (5认同)