[project @ 2004-09-28 12:38:55 by simonmar]
[ghc-base.git] / Data / Generics.hs
1 -----------------------------------------------------------------------------
2 -- |
3 -- Module      :  Data.Generics
4 -- Copyright   :  (c) The University of Glasgow, CWI 2001--2004
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/>. To scrap your boilerplate it
13 -- is sufficient to import the present module, which simply re-exports all
14 -- themes of the Data.Generics library.
15 --
16 -----------------------------------------------------------------------------
17
18 module Data.Generics ( 
19
20   -- * All Data.Generics modules
21   module Data.Generics.Basics,    -- primitives
22   module Data.Generics.Instances, -- instances of Data class
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
28 #ifndef __HADDOCK__
29         ,
30         -- Data types for the sum-of-products type encoding;
31         -- included for backwards compatibility; maybe obsolete.
32         (:*:)(..), (:+:)(..), Unit(..)
33 #endif
34
35  ) where
36
37 ------------------------------------------------------------------------------
38
39 import Prelude  -- So that 'make depend' works
40
41 #ifdef __GLASGOW_HASKELL__
42 #ifndef __HADDOCK__
43         -- Data types for the sum-of-products type encoding;
44         -- included for backwards compatibility; maybe obsolete.
45 import GHC.Base ( (:*:)(..), (:+:)(..), Unit(..) )
46 #endif
47 #endif
48
49 import Data.Generics.Basics
50 import Data.Generics.Instances
51 import Data.Generics.Aliases
52 import Data.Generics.Schemes
53 import Data.Generics.Text
54 import Data.Generics.Twins