{-# LANGUAGE DeriveDataTypeable #-}
module TestData.Foo1 where
-- base
import Data.Data
import Data.Typeable
data Foo = Foo Integer Bool
deriving (Show, Eq, Typeable, Data)
foo = Foo 1 False
foo' = Foo 2 False
data Bar
= Bar
{ barA :: Integer
, barD :: Integer
, barC :: Bool
}
| Baar
{ baarB :: Bool
, baarA :: Int
}
deriving (Show, Eq, Typeable, Data)
bar = Bar
{ barA = 23
, barD = 5
, barC = True
}
data Baz = Baz
{ bazFoo :: Foo
, bazBar :: Bar
}
deriving (Show, Eq, Typeable, Data)
baz = Baz foo bar
data Frob = Frob Int
deriving (Show, Eq, Typeable, Data)
frob = Frob 1