147 lines
5.6 KiB
Plaintext
147 lines
5.6 KiB
Plaintext
name: generics-sop
|
|
version: 0.5.1.2
|
|
x-revision: 1
|
|
synopsis: Generic Programming using True Sums of Products
|
|
description:
|
|
A library to support the definition of generic functions.
|
|
Datatypes are viewed in a uniform, structured way:
|
|
the choice between constructors is represented using an n-ary
|
|
sum, and the arguments of each constructor are represented using
|
|
an n-ary product.
|
|
.
|
|
The module "Generics.SOP" is the main module of this library and contains
|
|
more detailed documentation.
|
|
.
|
|
Since version 0.4.0.0, this package is now based on
|
|
@<https://hackage.haskell.org/package/sop-core sop-core>@. The core package
|
|
contains all the functionality of n-ary sums and products, whereas this
|
|
package provides the datatype-generic programming support on top.
|
|
.
|
|
Examples of using this library are provided by the following
|
|
packages:
|
|
.
|
|
* @<https://hackage.haskell.org/package/basic-sop basic-sop>@ basic examples,
|
|
.
|
|
* @<https://hackage.haskell.org/package/pretty-sop pretty-sop>@ generic pretty printing,
|
|
.
|
|
* @<https://hackage.haskell.org/package/lens-sop lens-sop>@ generically computed lenses,
|
|
.
|
|
* @<https://hackage.haskell.org/package/json-sop json-sop>@ generic JSON conversions.
|
|
.
|
|
A detailed description of the ideas behind this library is provided by
|
|
the paper:
|
|
.
|
|
* Edsko de Vries and Andres Löh.
|
|
<http://www.andres-loeh.de/TrueSumsOfProducts True Sums of Products>.
|
|
Workshop on Generic Programming (WGP) 2014.
|
|
.
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
author: Edsko de Vries <edsko@well-typed.com>, Andres Löh <andres@well-typed.com>
|
|
maintainer: andres@well-typed.com
|
|
category: Generics
|
|
build-type: Simple
|
|
cabal-version: >=1.10
|
|
extra-source-files: CHANGELOG.md doctest.sh
|
|
tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.2, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.4, GHC == 9.4.1
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/well-typed/generics-sop
|
|
|
|
library
|
|
exposed-modules: Generics.SOP
|
|
Generics.SOP.GGP
|
|
Generics.SOP.TH
|
|
Generics.SOP.Type.Metadata
|
|
-- exposed via Generics.SOP:
|
|
Generics.SOP.Instances
|
|
Generics.SOP.Metadata
|
|
Generics.SOP.Universe
|
|
-- re-exported from Data.SOP:
|
|
Generics.SOP.Dict
|
|
Generics.SOP.BasicFunctors
|
|
Generics.SOP.Classes
|
|
Generics.SOP.Constraint
|
|
Generics.SOP.NP
|
|
Generics.SOP.NS
|
|
Generics.SOP.Sing
|
|
build-depends: base >= 4.9 && < 4.18,
|
|
sop-core == 0.5.0.*,
|
|
template-haskell >= 2.8 && < 2.20,
|
|
th-abstraction >= 0.4 && < 0.5,
|
|
ghc-prim >= 0.3 && < 0.10
|
|
hs-source-dirs: src
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall
|
|
default-extensions: CPP
|
|
ScopedTypeVariables
|
|
TypeFamilies
|
|
RankNTypes
|
|
TypeOperators
|
|
GADTs
|
|
ConstraintKinds
|
|
MultiParamTypeClasses
|
|
TypeSynonymInstances
|
|
FlexibleInstances
|
|
FlexibleContexts
|
|
DeriveFunctor
|
|
DeriveFoldable
|
|
DeriveTraversable
|
|
DefaultSignatures
|
|
KindSignatures
|
|
DataKinds
|
|
FunctionalDependencies
|
|
|
|
if impl(ghc <8.2)
|
|
default-extensions: AutoDeriveTypeable
|
|
|
|
-- if impl(ghc >= 8.6)
|
|
-- default-extensions: NoStarIsType
|
|
other-extensions: PolyKinds
|
|
UndecidableInstances
|
|
TemplateHaskell
|
|
StandaloneDeriving
|
|
EmptyCase
|
|
UndecidableSuperClasses
|
|
|
|
test-suite generics-sop-examples
|
|
type: exitcode-stdio-1.0
|
|
main-is: Example.hs
|
|
other-modules: HTransExample
|
|
hs-source-dirs: test
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall
|
|
build-depends: base >= 4.9 && < 5,
|
|
generics-sop
|
|
other-extensions: DeriveGeneric
|
|
EmptyCase
|
|
TemplateHaskell
|
|
ConstraintKinds
|
|
GADTs
|
|
DataKinds
|
|
TypeFamilies
|
|
FlexibleContexts
|
|
FlexibleInstances
|
|
PolyKinds
|
|
DefaultSignatures
|
|
FunctionalDependencies
|
|
MultiParamTypeClasses
|
|
TypeFamilies
|
|
|
|
benchmark generics-sop-bench
|
|
type: exitcode-stdio-1.0
|
|
main-is: SOPBench.hs
|
|
other-modules: SOPBench.Type
|
|
SOPBench.Roundtrip
|
|
SOPBench.Eq
|
|
SOPBench.Show
|
|
hs-source-dirs: bench
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall
|
|
build-depends: base >= 4.6 && < 5,
|
|
criterion,
|
|
deepseq,
|
|
generics-sop,
|
|
template-haskell
|