packages feed

eliminators-0.9: eliminators.cabal

name:                eliminators
version:             0.9
synopsis:            Dependently typed elimination functions using singletons
description:         This library provides eliminators for inductive data types,
                     leveraging the power of the @singletons@ library to allow
                     dependently typed elimination.
homepage:            https://github.com/RyanGlScott/eliminators
bug-reports:         https://github.com/RyanGlScott/eliminators/issues
license:             BSD3
license-file:        LICENSE
author:              Ryan Scott
maintainer:          Ryan Scott <ryan.gl.scott@gmail.com>
stability:           Experimental
copyright:           (C) 2017 Ryan Scott
category:            Dependent Types
build-type:          Simple
extra-source-files:  CHANGELOG.md, README.md
cabal-version:       >=1.10
tested-with:         GHC == 9.2.1

source-repository head
  type:                git
  location:            https://github.com/RyanGlScott/eliminators

library
  exposed-modules:     Data.Eliminator
                       Data.Eliminator.Functor
                       Data.Eliminator.Monoid
                       Data.Eliminator.Semigroup
                       Data.Eliminator.TH
                       Data.Eliminator.TypeNats
  build-depends:       base             >= 4.16  && < 4.17
                     , extra            >= 1.4.2 && < 1.8
                     , singletons-base  >= 3.1   && < 3.2
                     , singleton-nats   >= 0.4.2 && < 0.5
                     , template-haskell >= 2.18  && < 2.19
                     , th-abstraction   >= 0.4   && < 0.5
                     , th-desugar       >= 1.13  && < 1.14
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall -Wcompat -Wno-unticked-promoted-constructors

test-suite spec
  type:                exitcode-stdio-1.0
  main-is:             Spec.hs
  other-modules:       DecideSpec
                       DecideTypes
                       EqualitySpec
                       EqualityTypes
                       GADTSpec
                       Internal
                       MatchabilizeSpec
                       MatchabilizeTypes
                       ListSpec
                       ListTypes
                       PolyRecTypes
                       VecTypes
                       VecSpec
  build-depends:       base            >= 4.16  && < 4.17
                     , eliminators
                     , hspec           >= 2     && < 3
                     , singletons-base >= 3.1   && < 3.2
                     , singleton-nats  >= 0.4.2 && < 0.5
  build-tool-depends:  hspec-discover:hspec-discover
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -Wall -Wcompat -Wno-unticked-promoted-constructors -threaded -rtsopts