Ho bisogno combinatori binari del tipoQuesti due combinatori sono già disponibili in Haskell?
(a -> Bool) -> (a -> Bool) -> a -> Bool
o forse
[a -> Bool] -> a -> Bool
(anche se questo potrebbe essere solo la foldr1 del primo, e di solito solo bisogno di combinare due funzioni booleane.)
Questi sono integrati?
In caso contrario, l'implementazione è semplice:
both f g x = f x && g x
either f g x = f x || g x
o forse
allF fs x = foldr (\ f b -> b && f x) True fs
anyF fs x = foldr (\ f b -> b || f x) False fs
Hoogle salta fuori nulla, ma a volte la sua ricerca non generalizzare correttamente. Qualche idea se questi sono integrati? Possono essere costruiti da pezzi di una biblioteca esistente?
Se questi non sono integrati, è possibile suggerire nuovi nomi, perché questi nomi sono piuttosto negativi. In effetti, questo è il motivo principale per cui spero che abbiano integrato.
'o :: (a -> c) -> (b -> c) -> O un b -> c' è già in' Prelude'; scegli un nome diverso? – ephemient
Lo so, è per questo che speravo che qualcuno potesse suggerire delle belle alternative. –