0 | module Syntax.Monad.Logic
2 | import public Language.Implicits.IfUnsolved
8 | (&&) : Monad m => m Bool -> m Bool -> m Bool
11 | | False => pure False
16 | (||) : Monad m => m Bool -> m Bool -> m Bool
22 | public export %inline
23 | all : Monad n => Foldable f => Functor f => (0 _ : IfUnsolved f List) =>
24 | (a -> n Bool) -> f a -> n Bool
25 | all = foldl (&&) (pure True) .: map
27 | public export %inline
28 | any : Monad n => Foldable f => Functor f => (0 _ : IfUnsolved f List) =>
29 | (a -> n Bool) -> f a -> n Bool
30 | any = foldl (||) (pure False) .: map