2015-04-18 6 views

Antwort

3

Nach Hayoo, wird es in den folgenden drei Pakete definiert:

if' :: Bool -> a -> a -> a 
  1. utility-ht - Data.Bool.HT

    if-then-else als Funktion.

    Beispiel:

    if' (even n) "even" $ 
    if' (isPrime n) "prime" $ 
    "boring" 
    
  2. plailude - Plailude

    Wenn True dann der erste Wert, sonst die zweite.

  3. CLASE - Data.Cursor.CLASE.Util

Die beiden wichtigsten Suchmaschinen für Haskell, die ich kenne sind Hoogle und Hayoo.

+0

Ah ja. Vielen Dank. Ich versuchte es mit hoogle, kam aber leer heraus. – Ana

+0

Hayoo hat normalerweise bessere Suchergebnisse als Hoogle. –

+3

[FP Complets Hoogle] (https://www.fpcomplete.com/hoogle) ist das Beste aus beiden Welten :-) – luqui

6

Es ist erwähnenswert, dass die if' Funktion in base seit Version 4.7 existiert, aber es ist bool genannt (in der Art mit either und maybe).

bool :: a -> a -> Bool -> a 
bool f _ False = f 
bool _ t True = t 

ist definiert in Data.Bool.

+4

Beachten Sie, dass dies den "else" Zweig vor dem "then" Platz nimmt. Dies ist damit konsistent mit anderen Katamorphismus-Buildern wie 'vielleicht' und' entweder', die ihre Argumente in der Reihenfolge der Konstruktor-Deklaration nehmen . – chi