Haskell的"功能"在哪里?

Ana*_*Ana 6 haskell

如果您使用pointfree代码\b t f -> if b then t else f,您得到的答案是if'.

在哪里if'定义?

kqr*_*kqr 7

值得一提的是,该if'函数base自4.7版本开始存在,但它被调用bool(带有either和的样式maybe).

bool :: a -> a -> Bool -> a
bool f _ False = f
bool _ t True  = t
Run Code Online (Sandbox Code Playgroud)

定义于Data.Bool.

  • 请注意,这会在"then"之前采用"else"分支.这是为了与其他类似于catamorphism的构建器一致,例如`maybe`和`both`,它们按照构造函数声明的顺序获取它们的参数. (4认同)

Aad*_*hah 3

根据Hayoo 的说法,它定义在以下三个包中:

if' :: Bool -> a -> a -> a
Run Code Online (Sandbox Code Playgroud)
  1. 实用程序-ht - Data.Bool.HT

    if-then-else作为函数。

    例子:

    if' (even n) "even" $
    if' (isPrime n) "prime" $
    "boring"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 普莱鲁德-普莱鲁德

    如果True则为第一个值,否则为第二个值。

  3. CLASE - Data.Cursor.CLASE.Util

据我所知,Haskell 的两个主要搜索引擎是HoogleHayoo

  • [FP Complete 的 Hoogle](https://www.fpcomplete.com/hoogle) 是两全其美的:-) (3认同)