[project @ 2003-07-28 15:03:05 by panne]
[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   -- * To scrap your boilerplate it is sufficient to import this module.
19   --   This module does nothing more than import all themes of the
20   --   Data.Generics library.
21   --
22   module Data.Generics.Basics,  -- primitives
23   module Data.Generics.Aliases, -- aliases for type case, generic types
24   module Data.Generics.Schemes, -- traversal schemes (everywhere etc.)
25   module Data.Generics.Text,    -- generic read and show
26   module Data.Generics.Twins,   -- twin traversal, e.g., generic eq
27   module Data.Generics.Reify    -- experimental reification stuff
28
29 #ifndef __HADDOCK__
30         ,
31         -- Data types for the sum-of-products type encoding;
32         -- included for backwards compatibility; maybe obsolete.
33         (:*:)(..), (:+:)(..), Unit(..)
34 #endif
35
36  ) where
37
38 ------------------------------------------------------------------------------
39
40 import Prelude  -- So that 'make depend' works
41
42 #ifdef __GLASGOW_HASKELL__
43 #ifndef __HADDOCK__
44         -- Data types for the sum-of-products type encoding;
45         -- included for backwards compatibility; maybe obsolete.
46 import GHC.Base ( (:*:)(..), (:+:)(..), Unit(..) )
47 #endif
48 #endif
49
50 import Data.Generics.Basics
51 import Data.Generics.Aliases
52 import Data.Generics.Schemes
53 import Data.Generics.Text
54 import Data.Generics.Twins
55 import Data.Generics.Reify