Sind diese beiden Kombinatoren bereits in Haskell verfügbar?

8

Ich brauche binäre Kombinatoren vom Typ

%Vor%

oder vielleicht

%Vor%

(obwohl dies nur der foldr1 des ersten wäre, und ich normalerweise nur zwei boolesche Funktionen kombinieren muss.)

Sind diese eingebaut?

Wenn nicht, ist die Implementierung einfach:

%Vor%

oder vielleicht

%Vor%

Hoogle zeigt nichts an, aber manchmal wird seine Suche nicht richtig verallgemeinert. Irgendeine Idee, wenn diese eingebaut sind? Können sie aus Teilen einer vorhandenen Bibliothek erstellt werden?

Wenn diese nicht eingebaut sind, könnten Sie neue Namen vorschlagen, weil diese Namen ziemlich schlecht sind. In der Tat, das ist der Hauptgrund, warum ich hoffe, dass sie eingebaut sind.

    
Nathan Shively-Sanders 04.02.2010, 18:16
quelle

3 Antworten

13

Control.Monad definiert instance Monad ((->) r) , also

%Vor%

Sie könnten dasselbe mit Control.Applicative.liftA2 machen.

Nicht ernsthaft vorschlagen, aber ...

%Vor%     
ephemient 04.02.2010, 18:26
quelle
6

Es ist nicht integriert, aber die Alternative, die ich bevorzuge, ist die Verwendung von Typklassen zur Generalisierung die Booleschen Operationen zu Prädikaten beliebiger Art:

%Vor%

Ich liebe Haskell!

    
Norman Ramsey 05.02.2010 02:01
quelle
1

Ich kenne keine Builtins, aber ich mag die Namen, die Sie vorschlagen.

%Vor%

Alternativ könnte man sich zusätzlich zu typeclasses ein Operatorsymbol vorstellen.

%Vor%     
Dario 04.02.2010 18:25
quelle

Tags und Links