packages feed

typelits-witnesses-0.3.0.1: typelits-witnesses.cabal

name:                typelits-witnesses
version:             0.3.0.1
synopsis:            Existential witnesses, singletons, and classes for operations on GHC TypeLits
description:         Provides witnesses for 'KnownNat' and 'KnownSymbol'
                     instances for various operations on GHC TypeLits - in
                     particular, the arithmetic operations defined in
                     "GHC.TypeLits", and also for type-level lists of
                     'KnownNat' and 'KnownSymbol' instances.
                     .
                     This is useful for situations where you have
                     @'KnownNat' n@, and you want to prove to GHC
                     @'KnownNat' (n + 3)@, or @'KnownNat' (2*n + 4)@, or when
                     constraints on the lower or upper limits of @n@ are
                     needed.
                     .
                     It's also useful for when you want to work with type
                     level lists of 'KnownNat' or 'KnownSymbol' instances and
                     singletons for traversing them, and be able to apply
                     analogies of 'natVal' and 'symbolVal' to lists with
                     analogies for 'SomeNat' and 'SomeSymbol'.
                     .
                     Note that most of the functionality in this library can
                     be reproduced in a more generic way using the great
                     <https://hackage.haskell.org/package/singletons singletons>
                     library.  The versions here are provided as a "plumbing
                     included" alternative that makes some commonly found
                     design patterns involving GHC's TypeLits functionality a
                     little smoother, especially when working with external
                     libraries or GHC TypeLit's Nat comparison API.
                     .
                     See README for more information.
homepage:            https://github.com/mstksg/typelits-witnesses
license:             MIT
license-file:        LICENSE
author:              Justin Le
maintainer:          justin@jle.im
copyright:           (c) Justin Le 2018
category:            Data
build-type:          Simple
extra-source-files:  README.md
                   , CHANGELOG.md
cabal-version:       >=1.10
tested-with:         GHC == 7.8.4
                   , GHC == 7.10.3
                   , GHC == 8.0.2
                   , GHC == 8.2.1

source-repository head
  type:              git
  location:          git://github.com/mstksg/typelits-witnesses.git

library
  exposed-modules:     GHC.TypeLits.Witnesses
                       GHC.TypeLits.List
                       GHC.TypeLits.Compare
  -- other-modules:       
  -- other-extensions:    
  if impl(ghc >= 8.0)
    build-depends:       base >=4.7 && <5
                       , base-compat
                       , constraints
                       , reflection >= 2
                       , transformers
  else
    build-depends:       base >=4.7 && <5
                       , base-compat
                       , constraints < 0.9.1
                       , reflection >= 2
                       , transformers
  hs-source-dirs:      src
  ghc-options:         -Wall
  default-language:    Haskell2010