1 -----------------------------------------------------------------------------
3 -- Module : Data.Generics
4 -- Copyright : (c) The University of Glasgow, CWI 2001--2004
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/>. 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.
16 -----------------------------------------------------------------------------
18 module Data.Generics (
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
30 -- Data types for the sum-of-products type encoding;
31 -- included for backwards compatibility; maybe obsolete.
32 (:*:)(..), (:+:)(..), Unit(..)
37 ------------------------------------------------------------------------------
39 import Prelude -- So that 'make depend' works
41 #ifdef __GLASGOW_HASKELL__
43 -- Data types for the sum-of-products type encoding;
44 -- included for backwards compatibility; maybe obsolete.
45 import GHC.Base ( (:*:)(..), (:+:)(..), Unit(..) )
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