Ich brauche binäre combinators des TypsSind diese beiden Kombinatoren bereits in Haskell verfügbar?
(a -> Bool) -> (a -> Bool) -> a -> Bool
oder vielleicht
[a -> Bool] -> a -> Bool
(obwohl dies wäre nur die foldr1 der ersten, und ich brauche in der Regel nur zwei Booleschen Funktionen zu kombinieren.)
Sind diese eingebaut?
Wenn nicht, ist die Implementierung einfach:
both f g x = f x && g x
either f g x = f x || g x
oder vielleicht
allF fs x = foldr (\ f b -> b && f x) True fs
anyF fs x = foldr (\ f b -> b || f x) False fs
Hoogle taucht nichts, aber manchmal seine Suche nicht richtig verallgemeinern. Irgendeine Idee, wenn diese eingebaut sind? Können sie aus Teilen einer bestehenden Bibliothek gebaut werden?
Wenn diese nicht integriert sind, könnten Sie neue Namen vorschlagen, weil diese Namen ziemlich schlecht sind. In der Tat, das ist der Hauptgrund, ich hoffe, dass sie eingebaut sind.
'entweder :: (a -> c) -> (b -> c) -> Entweder ist ein b -> c 'bereits in' Prelude'; einen anderen Namen wählen? – ephemient
Ich weiß, deshalb habe ich gehofft, dass jemand nette Alternativen vorschlagen könnte. –