1 -----------------------------------------------------------------------------
3 -- Module : Data.Generics
4 -- Copyright : (c) The University of Glasgow, CWI 2001--2003
5 -- License : BSD-style (see the file libraries/base/LICENSE)
7 -- Maintainer : libraries@haskell.org
8 -- Stability : experimental
9 -- Portability : non-portable
11 -- \"Scrap your boilerplate\" --- Generic programming in Haskell
12 -- See <http://www.cs.vu.nl/boilerplate/>.
14 -----------------------------------------------------------------------------
16 module Data.Generics (
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.
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
31 -- Data types for the sum-of-products type encoding;
32 -- included for backwards compatibility; maybe obsolete.
33 (:*:)(..), (:+:)(..), Unit(..)
38 ------------------------------------------------------------------------------
40 import Prelude -- So that 'make depend' works
42 #ifdef __GLASGOW_HASKELL__
44 -- Data types for the sum-of-products type encoding;
45 -- included for backwards compatibility; maybe obsolete.
46 import GHC.Base ( (:*:)(..), (:+:)(..), Unit(..) )
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