packages feed

type-natural-1.3.0.2: type-natural.cabal

cabal-version: 3.0
name: type-natural
version: 1.3.0.2
license: BSD-3-Clause
license-file: LICENSE
copyright: (C) Hiromi ISHII 2013-2024
maintainer: konn.jinro_at_gmail.com
author: Hiromi ISHII
tested-with: ghc ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.4 || ==9.10.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.

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

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

library
  -- cabal-gild: discover src --exclude src/**/Core.hs --exclude src/**/Utils.hs --exclude src/Data/Type/Natural/Lemma/Presburger.hs
  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

  default-extensions: NoStarIsType
  ghc-options:
    -Wall
    -Wno-orphans
    -Wno-redundant-constraints

  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.8.4)
    build-depends: ghc-typelits-presburger >=0.7.4.1
  else
    if impl(ghc >=9.8)
      build-depends: ghc-typelits-presburger >=0.7.3
    else
      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

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:
    QuickCheck,
    base,
    equational-reasoning,
    integer-logarithms,
    quickcheck-instances,
    tasty,
    tasty-discover,
    tasty-hunit,
    tasty-quickcheck,
    template-haskell,
    type-natural,

  default-extensions: NoStarIsType