cabal-version: >=1.10
name: constraint-tuples
version: 0.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. (When building
with GHC 9.10 or later, this will simply re-export the
constraint tuples offered by "GHC.Classes".)
.
* "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.
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 == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
, GHC == 8.8.4
, GHC == 8.10.7
, GHC == 9.0.2
, GHC == 9.2.8
, GHC == 9.4.8
, GHC == 9.6.5
, GHC == 9.8.2
, GHC == 9.10.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.9 && < 5
, ghc-prim
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall