X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Data%2FTraversable.hs;h=28fa761b98347955a6bbf64e5c4d089f2a01634f;hb=e74a10138daf9fd70888a1841bd6cc93b9cca9f2;hp=30aaee6e5a462c3e9f2ad3fd6190a25a8f1bead4;hpb=2b2397221c29a275630c62d4982caedc2c7cd987;p=ghc-base.git diff --git a/Data/Traversable.hs b/Data/Traversable.hs index 30aaee6..28fa761 100644 --- a/Data/Traversable.hs +++ b/Data/Traversable.hs @@ -62,7 +62,7 @@ import Array -- -- a suitable instance would be -- --- > instance Traversable Tree +-- > instance Traversable Tree where -- > traverse f Empty = pure Empty -- > traverse f (Leaf x) = Leaf <$> f x -- > traverse f (Node l k r) = Node <$> traverse f l <*> f k <*> traverse f r @@ -107,6 +107,7 @@ instance Traversable Maybe where traverse f (Just x) = Just <$> f x instance Traversable [] where + {-# INLINE traverse #-} -- so that traverse can fuse traverse f = Prelude.foldr cons_f (pure []) where cons_f x ys = (:) <$> f x <*> ys