From 638e07f4e7b806768e688ebfedb1e0dcb3d6a70c Mon Sep 17 00:00:00 2001 From: ross Date: Fri, 30 Dec 2005 00:18:59 +0000 Subject: [PATCH] [project @ 2005-12-30 00:18:59 by ross] deriving Data --- Data/Tree.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Data/Tree.hs b/Data/Tree.hs index e0a7cb6..fec5856 100644 --- a/Data/Tree.hs +++ b/Data/Tree.hs @@ -37,7 +37,9 @@ import Data.Foldable (Foldable(foldMap), toList) import Data.Traversable (Traversable(traverse)) import Data.Typeable -#include "Typeable.h" +#ifdef __GLASGOW_HASKELL__ +import Data.Generics.Basics (Data) +#endif -- | Multi-way trees, also known as /rose trees/. data Tree a = Node { @@ -45,14 +47,20 @@ data Tree a = Node { subForest :: Forest a -- ^ zero or more child trees } #ifndef __HADDOCK__ +# ifdef __GLASGOW_HASKELL__ + deriving (Eq, Read, Show, Data) +# else deriving (Eq, Read, Show) +# endif #else /* __HADDOCK__ (which can't figure these out by itself) */ instance Eq a => Eq (Tree a) instance Read a => Read (Tree a) instance Show a => Show (Tree a) +instance Data a => Data (Tree a) #endif type Forest a = [Tree a] +#include "Typeable.h" INSTANCE_TYPEABLE1(Tree,treeTc,"Tree") instance Functor Tree where -- 1.7.10.4