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 (uses Data.Generics.Basics)
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
29 -- Data types for the sum-of-products type encoding;
30 -- included for backwards compatibility; maybe obsolete.
31 (:*:)(..), (:+:)(..), Unit(..)
36 ------------------------------------------------------------------------------
38 import Prelude -- So that 'make depend' works
40 #ifdef __GLASGOW_HASKELL__
42 -- Data types for the sum-of-products type encoding;
43 -- included for backwards compatibility; maybe obsolete.
44 import GHC.Base ( (:*:)(..), (:+:)(..), Unit(..) )
48 import Data.Generics.Basics
49 import Data.Generics.Instances
50 import Data.Generics.Aliases
51 import Data.Generics.Schemes
52 import Data.Generics.Text
53 import Data.Generics.Twins