[project @ 2003-07-24 12:19:57 by ralf]
[ghc-base.git] / Data / Generics.hs
1 -----------------------------------------------------------------------------
2 -- |
3 -- Module      :  Data.Generics
4 -- Copyright   :  (c) The University of Glasgow, CWI 2001--2003
5 -- License     :  BSD-style (see the file libraries/base/LICENSE)
6 -- 
7 -- Maintainer  :  libraries@haskell.org
8 -- Stability   :  experimental
9 -- Portability :  non-portable
10 --
11 -- "Scrap your boilerplate" --- Generic programming in Haskell 
12 -- See <http://www.cs.vu.nl/boilerplate/>.
13 --
14 -----------------------------------------------------------------------------
15
16 module Data.Generics ( 
17
18         -- * Re-export all relevant modules
19         module Data.Generics.Basics,
20         module Data.Generics.Aliases,
21         module Data.Generics.Schemes,
22         module Data.Generics.Twins,
23         module Data.Generics.Strings,
24         module Data.Generics.Counts,
25         module Data.Generics.Types
26
27 #ifndef __HADDOCK__
28         ,
29         -- Data types for the sum-of-products type encoding;
30         -- included for backwards compatibility; maybe obsolete
31         (:*:)(..), (:+:)(..), Unit(..)
32 #endif
33
34  ) where
35
36 ------------------------------------------------------------------------------
37
38 import Prelude  -- So that 'make depend' works
39
40 #ifdef __GLASGOW_HASKELL__
41 #ifndef __HADDOCK__
42 import GHC.Base ( (:*:)(..), (:+:)(..), Unit(..) )
43 #endif
44 #endif
45
46 import Data.Generics.Basics
47 import Data.Generics.Aliases
48 import Data.Generics.Schemes
49 import Data.Generics.Twins
50 import Data.Generics.Strings
51 import Data.Generics.Counts
52 import Data.Generics.Types