As I was using predicates (a -> bool) , it appeared the need for combining them with a boolean operator (bool -> bool -> bool) in order to get a new predicate
combining the previous two. So I wrote my function combinerPred (see code below). While I think this is JUST ok, i'm feeling a monad in the air.
So.. where is the monad?
combinerPred :: (a -> Bool) -> (a -> Bool) -> (Bool -> Bool -> Bool) -> (a -> Bool)
combinerPred pred1 pred2 op = \x -> op (pred1 x) (pred2 x)
thanks
Sebastián