cabal-version: >=1.10
name: constraint-tuples
version: 0.1.2
synopsis: Partially applicable constraint tuples
description: This library provides classes and type aliases that
emulate the behavior of GHC's constraint tuple syntax.
Unlike GHC's built-in constraint tuples, the types in this
library can be partially applied.
.
This library exposes four different modules that provide
essentially the same API with slight differences in their
implementation:
.
* "Data.Tuple.Constraint": A @CTupleN@ class compiles to
a dictionary data type with @N@ fields.
.
* "Data.Tuple.Constraint.ClassNewtype": A @CTupleN@ class
compiles to a newtype around the corresponding built-in
constraint tuple type with @N@ arguments.
.
* @Data.Tuple.Constraint.TypeFamily@: A @CTupleN@ type
alias is a constraint tuple type constructor with @N@
arguments obtained by way of a type family. This will
compile to a built-in constraint tuple, but casted with
a type family axiom.
.
* @Data.Tuple.Constraint.TypeSynonym@: A @CTupleN@ type
alias is a constraint tuple type constructor with @N@
arguments obtained by way of a type synonym. This will
compile directly to a built-in constraint tuple, but
because this requires use of GHC features only present
on 8.0 or later, this module does not export anything on
earlier versions of GHC.
homepage: https://github.com/RyanGlScott/constraint-tuples
bug-reports: https://github.com/RyanGlScott/constraint-tuples/issues
license: BSD3
license-file: LICENSE
author: Ryan Scott
maintainer: ryan.gl.scott@gmail.com
stability: Stable
copyright: (C) 2018-2019 Ryan Scott
category: Data
build-type: Simple
extra-source-files: CHANGELOG.md
README.md
GenCTuples.sh
generator-script/LICENSE
generator-script/generator-script.cabal
generator-script/exe/GeneratorScript.hs
tested-with: GHC == 7.6.3
, GHC == 7.8.4
, GHC == 7.10.3
, GHC == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
, GHC == 8.8.1
source-repository head
type: git
location: https://github.com/RyanGlScott/constraint-tuples
library
exposed-modules: Data.Tuple.Constraint
Data.Tuple.Constraint.ClassNewtype
Data.Tuple.Constraint.TypeFamily
Data.Tuple.Constraint.TypeSynonym
build-depends: base >= 4.6 && < 5
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall