如果您在代码\b t f -> if b then t else f
上使用pointfree
,则得到的答案为if'
。
if'
定义在哪里?
答案 0 :(得分:7)
值得一提的是,if'
函数自版本4.7起存在base
,但它被称为bool
(带有either
和maybe
的样式)。
bool :: a -> a -> Bool -> a
bool f _ False = f
bool _ t True = t
在Data.Bool
中定义。
答案 1 :(得分:3)
根据Hayoo,它在以下三个包中定义:
if' :: Bool -> a -> a -> a
if-then-else
作为功能。
示例:
if' (even n) "even" $
if' (isPrime n) "prime" $
"boring"
如果True
则为第一个值,否则为第二个值。