packages feed

constraint-tuples-0.2: constraint-tuples.cabal

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