>>> traverse_ print ["Hello", "world", "!"] "Hello" "world" "!"
>>> traverse_ print (0...) -- hit Ctrl+C to terminate 0 1 2Interruptedtraverse_ could be productive for some short-circuiting f:
>>> traverse_ (\x -> if x > 10 then Left x else Right ()) (0...) Left 11
mapReduce getTraversal
>>> bitraverse_ print (print . show) ("Hello", True) "Hello" "True"
>>> bitraverse_ print (print . show) (Right True) "True"
>>> bitraverse_ print (print . show) (Left "Hello") "Hello"
hctraverse_, ctraverse__NP :: (All c xs , Applicative g) => proxy c -> (forall a. c a => f a -> g ()) -> NP f xs -> g () hctraverse_, ctraverse__NS :: (All2 c xs , Applicative g) => proxy c -> (forall a. c a => f a -> g ()) -> NS f xs -> g () hctraverse_, ctraverse__POP :: (All c xss, Applicative g) => proxy c -> (forall a. c a => f a -> g ()) -> POP f xss -> g () hctraverse_, ctraverse__SOP :: (All2 c xss, Applicative g) => proxy c -> (forall a. c a => f a -> g ()) -> SOP f xss -> g ()