6 maintainer: andres@well-typed.com
8 Edsko de Vries <edsko@well-typed.com>, Andres Löh <andres@well-typed.com>
11 ghc ==7.8.4 ghc ==7.10.3 ghc ==8.0.1 ghc ==8.0.2 ghc ==8.2.1
14 synopsis: Generic Programming using True Sums of Products
16 A library to support the definition of generic functions.
17 Datatypes are viewed in a uniform, structured way:
18 the choice between constructors is represented using an n-ary
19 sum, and the arguments of each constructor are represented using
22 The module "Generics.SOP" is the main module of this library and contains
23 more detailed documentation.
25 Examples of using this library are provided by the following
28 * @<https://hackage.haskell.org/package/basic-sop basic-sop>@ basic examples,
30 * @<https://hackage.haskell.org/package/pretty-sop pretty-sop>@ generic pretty printing,
32 * @<https://hackage.haskell.org/package/lens-sop lens-sop>@ generically computed lenses,
34 * @<https://hackage.haskell.org/package/json-sop json-sop>@ generic JSON conversions.
36 A detailed description of the ideas behind this library is provided by
39 * Edsko de Vries and Andres Löh.
40 <http://www.andres-loeh.de/TrueSumsOfProducts True Sums of Products>.
41 Workshop on Generic Programming (WGP) 2014.
46 extra-source-files: CHANGELOG.md
48 source-repository head
50 location: https://github.com/well-typed/generics-sop
56 cabal-doctest >=1.0.2 && <1.1
64 Generics.SOP.Type.Metadata
65 Generics.SOP.BasicFunctors
67 Generics.SOP.Constraint
68 Generics.SOP.Instances
76 default-language: Haskell2010
78 CPP ScopedTypeVariables TypeFamilies RankNTypes TypeOperators GADTs
79 ConstraintKinds MultiParamTypeClasses TypeSynonymInstances
80 FlexibleInstances FlexibleContexts DeriveFunctor DeriveFoldable
81 DeriveTraversable DefaultSignatures KindSignatures DataKinds
82 FunctionalDependencies
85 OverloadedStrings PolyKinds UndecidableInstances TemplateHaskell
86 DeriveGeneric StandaloneDeriving
91 template-haskell >=2.8 && <2.13,
92 ghc-prim >=0.3 && <0.6,
96 build-depends: tagged >=0.7 && <0.9
100 transformers-compat >=0.3 && <0.6,
101 transformers >=0.3 && <0.6
104 default-extensions: AutoDeriveTypeable
107 other-extensions: OverlappingInstances
110 type: exitcode-stdio-1.0
113 default-language: Haskell2010
114 ghc-options: -Wall -threaded
115 x-doctest-options: --preserve-it
118 doctest >=0.13 && <0.14
120 test-suite generics-sop-examples
121 type: exitcode-stdio-1.0
124 other-modules: HTransExample
125 default-language: Haskell2010