packages feed

ghc-typelits-presburger-0.7.2.0: ghc-typelits-presburger.cabal

cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.35.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: d47f404951bd3c54bbbabe3cea49f853ffe14cf61c99382f7240c493409fcdda

name:          ghc-typelits-presburger
version:       0.7.2.0
synopsis:      Presburger Arithmetic Solver for GHC Type-level natural numbers.
description:   @ghc-typelits-presburger@ augments GHC type-system with Presburger
               Arithmetic Solver for Type-level natural numbers.
               This plugin only work with GHC builtin operations.
               To work with those of @singletons@ package, use @ghc-typelits-meta@ and/or @ghc-typelits-presburger@ instead.
               .
               Since 0.3.0.0, integration with <https://hackage.haskell.org/package/singletons singletons> package moves to <https://hackage.haskell.org/package/singletons-presburger singletons-presburger>.
               .
               You can use by adding this package to @build-depends@ and add the following pragma
               to the head of .hs files:
               .
               .
               > OPTIONS_GHC -fplugin GHC.TypeLits.Presburger
category:      Math, Type System
homepage:      https://github.com/konn/ghc-typelits-presburger#readme
bug-reports:   https://github.com/konn/ghc-typelits-presburger/issues
author:        Hiromi ISHII
maintainer:    konn.jinro _at_ gmail.com
copyright:     2015 (c) Hiromi ISHII
license:       BSD3
license-file:  LICENSE
tested-with:
    GHC==8.6.5 GHC==8.8.4 GHC==8.10.7 GHC==9.0.2 GHC==9.2.7 GHC==9.4.4 GHC==9.6.1
extra-source-files:
    Changelog.md
build-type:    Simple

source-repository head
  type: git
  location: https://github.com/konn/ghc-typelits-presburger

flag examples
  description: Builds example
  manual: False
  default: False

library
  exposed-modules:
      GHC.TypeLits.Presburger.Types
      GHC.TypeLits.Presburger
      GHC.TypeLits.Presburger.Compat
  other-modules:
      Data.Integer.SAT
      GHC.TypeLits.Presburger.Flags
      Paths_ghc_typelits_presburger
  hs-source-dirs:
      src
  ghc-options: -Wall -Wno-dodgy-imports
  build-depends:
      base >=4.7 && <5
    , containers
    , ghc <9.7
    , ghc-tcplugins-extra >=0.2 && <0.5
    , mtl
    , pretty
    , reflection
    , syb
    , transformers
  default-language: Haskell2010

executable simple-arith-core
  main-is: simple-arith-core.hs
  other-modules:
      Paths_ghc_typelits_presburger
  hs-source-dirs:
      examples
  ghc-options: -Wall -Wno-dodgy-imports -Wno-unused-imports
  build-depends:
      base
    , equational-reasoning
    , ghc-typelits-presburger
  default-language: Haskell2010
  if !(flag(examples))
    buildable: False

test-suite test-typeltis-presburger
  type: exitcode-stdio-1.0
  main-is: test.hs
  other-modules:
      ErrorsNoPlugin
      ErrorsWithPlugin
      GHC.TypeLits.PresburgerSpec
      Shared
      Paths_ghc_typelits_presburger
  hs-source-dirs:
      test
  ghc-options: -Wall -Wno-dodgy-imports
  build-tool-depends:
      tasty-discover:tasty-discover
  build-depends:
      base
    , equational-reasoning
    , ghc-typelits-presburger
    , tasty
    , tasty-discover
    , tasty-expected-failure
    , tasty-hunit
    , text
  default-language: Haskell2010