packages feed

type-natural-1.3.0.0: type-natural.cabal

cabal-version: >=1.10
name:          type-natural
version:       1.3.0.0
license:       BSD3
license-file:  LICENSE
copyright:     (C) Hiromi ISHII 2013-2023
maintainer:    konn.jinro_at_gmail.com
author:        Hiromi ISHII
tested-with:
  GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.7 || ==9.4.4 || ==9.6.1

homepage:      https://github.com/konn/type-natural
synopsis:      Type-level natural and proofs of their properties.
description:
  Type-level natural numbers and proofs of their properties.
  .
  Version 0.6+ supports __GHC 8+ only__.
  .
  __Use 0.5.* with ~ GHC 7.10.3__.

category:      Math
build-type:    Simple
extra-source-files:
  Changelog.md

source-repository head
  type:     git
  location: git://github.com/konn/type-natural.git

library
  exposed-modules:
    Data.Type.Natural
    Data.Type.Natural.Builtin
    Data.Type.Natural.Lemma.Arithmetic
    Data.Type.Natural.Lemma.Order
    Data.Type.Natural.Presburger.MinMaxSolver
    Data.Type.Ordinal
    Data.Type.Ordinal.Builtin

  hs-source-dirs:     src
  other-modules:
    Data.Type.Natural.Core
    Data.Type.Natural.Lemma.Presburger
    Data.Type.Natural.Utils

  default-language:   Haskell2010
  default-extensions:
    ConstraintKinds
    DataKinds
    FlexibleContexts
    FlexibleInstances
    GADTs
    MultiParamTypeClasses
    PolyKinds
    ScopedTypeVariables
    TemplateHaskell
    TypeFamilies
    TypeOperators
    UndecidableInstances

  ghc-options:        -Wall -fno-warn-orphans
  build-depends:
      base                       >=4       && <5
    , constraints                >=0.3
    , equational-reasoning       >=0.4.1.1
    , ghc
    , ghc-typelits-knownnat
    , ghc-typelits-natnormalise  >=0.4
    , integer-logarithms
    , template-haskell           >=2.8

  if impl(ghc >= 9.6)
    build-depends: ghc-typelits-presburger >=0.7.2
  else
    if impl(ghc >=9.4)
      build-depends: ghc-typelits-presburger >=0.7.1
    else
      build-depends: ghc-typelits-presburger

  if impl(ghc >=8.0.0)
    ghc-options: -Wno-redundant-constraints

  if impl(ghc >=8.6)
    default-extensions: NoStarIsType

test-suite type-natural-test
  type:             exitcode-stdio-1.0
  main-is:          test.hs
  build-tool-depends: tasty-discover:tasty-discover
  hs-source-dirs:   tests
  default-language: Haskell2010
  ghc-options:      -Wall
  other-modules:
    Data.Type.Natural.Lemma.OrderSpec
    Data.Type.Natural.Presburger.Cases
    Data.Type.Natural.Presburger.MinMaxSolverSpec
    Data.Type.NaturalSpec
    Data.Type.NaturalSpec.TH
    Data.Type.OrdinalSpec
    Shared

  build-depends:
      base
    , equational-reasoning
    , integer-logarithms
    , QuickCheck
    , quickcheck-instances
    , tasty
    , tasty-discover
    , tasty-hunit
    , tasty-quickcheck
    , template-haskell
    , type-natural

  if impl(ghc >=8.6)
    default-extensions: NoStarIsType