necesito combinadores binarios del tipo¿Estos dos combinadores ya están disponibles en Haskell?
(a -> Bool) -> (a -> Bool) -> a -> Bool
o tal vez
[a -> Bool] -> a -> Bool
(aunque esto no sería más que la foldr1 de la primera, y por lo general sólo es necesario combinar dos funciones booleanas.)
¿Están incorporados?
Si no es así, la implementación es simple:
both f g x = f x && g x
either f g x = f x || g x
o tal vez
allF fs x = foldr (\ f b -> b && f x) True fs
anyF fs x = foldr (\ f b -> b || f x) False fs
Hoogle vuelve a nada, pero a veces su búsqueda no generalizar correctamente. Alguna idea si estos están incorporados? ¿Se pueden construir a partir de piezas de una biblioteca existente?
Si no están incorporados, puede sugerir nuevos nombres, porque estos nombres son bastante malos. De hecho, esa es la razón principal por la que espero que sean incorporados.
'cualquiera :: (a -> c) -> (b -> c) -> O bien b -> c' ya está en' Preludio'; elegir un nombre diferente? – ephemient
Lo sé, es por eso que esperaba que alguien pudiera sugerir buenas alternativas. –