on master help sign in
Add for and for_
ad11bf8Melvar Chen
libs/prelude/Prelude/Traversable.idr+6
@@ -9,8 +9,14 @@ traverse_ f = foldr (($>) . f) (pure ())
9sequence_ : (Foldable t, Applicative f) => t (f a) -> f ()
9sequence_ : (Foldable t, Applicative f) => t (f a) -> f ()
10sequence_ = foldr ($>) (pure ())
10sequence_ = foldr ($>) (pure ())
11
11
12+for_ : (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
13+for_ = flip traverse_
14+
12class (Functor t, Foldable t) => Traversable (t : Type -> Type) where
15class (Functor t, Foldable t) => Traversable (t : Type -> Type) where
13 traverse : Applicative f => (a -> f b) -> t a -> f (t b)
16 traverse : Applicative f => (a -> f b) -> t a -> f (t b)
14
17
15sequence : (Traversable t, Applicative f) => t (f a) -> f (t a)
18sequence : (Traversable t, Applicative f) => t (f a) -> f (t a)
16sequence = traverse id
19sequence = traverse id
20+
21+for : (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
22+for = flip traverse