X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Data%2FTree.hs;h=f2a55f59d28e32ef5ea75804fdc609aa12b4c4ac;hb=30464c0cb915c2ae900909568fa8677bba341e45;hp=fec58569b2fc39148b90a7dd08b502c3c46933ff;hpb=638e07f4e7b806768e688ebfedb1e0dcb3d6a70c;p=haskell-directory.git diff --git a/Data/Tree.hs b/Data/Tree.hs index fec5856..f2a55f5 100644 --- a/Data/Tree.hs +++ b/Data/Tree.hs @@ -28,7 +28,7 @@ module Data.Tree( import Prelude #endif -import Control.Applicative (Applicative(..)) +import Control.Applicative (Applicative(..), (<$>)) import Control.Monad import Data.Monoid (Monoid(..)) import Data.Sequence (Seq, empty, singleton, (<|), (|>), fromList, @@ -64,10 +64,7 @@ type Forest a = [Tree a] INSTANCE_TYPEABLE1(Tree,treeTc,"Tree") instance Functor Tree where - fmap = mapTree - -mapTree :: (a -> b) -> (Tree a -> Tree b) -mapTree f (Node x ts) = Node (f x) (map (mapTree f) ts) + fmap f (Node x ts) = Node (f x) (map (fmap f) ts) instance Traversable Tree where traverse f (Node x ts) = Node <$> f x <*> traverse (traverse f) ts