packages feed

constraint-tuples-0.1.2: constraint-tuples.cabal

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