Cabal revisions of ghc-typelits-knownnat-0.8.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-cabal-version: 3.0-name: ghc-typelits-knownnat-version: 0.8.0-synopsis: Derive KnownNat constraints from other KnownNat constraints-description:- A type checker plugin for GHC that can derive \"complex\" @KnownNat@- constraints from other simple/variable @KnownNat@ constraints. i.e. without- this plugin, you must have both a @KnownNat n@ and a @KnownNat (n+2)@- constraint in the type signature of the following function:-- @- f :: forall n . (KnownNat n, KnownNat (n+2)) => Proxy n -> Integer- f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2))- @-- Using the plugin you can omit the @KnownNat (n+2)@ constraint:-- @- f :: forall n . KnownNat n => Proxy n -> Integer- f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2))- @-- The plugin can derive @KnownNat@ constraints for types consisting of:-- * Type variables, when there is a corresponding @KnownNat@ constraint-- * Type-level naturals-- * Applications of the arithmetic expression: +,-,*,^-- * Type functions, when there is either:-- 1. a matching given @KnownNat@ constraint; or-- 2. a corresponding @KnownNat\<N\>@ instance for the type function-- To use the plugin, add the-- @- OPTIONS_GHC -fplugin GHC.TypeLits.KnownNat.Solver- @-- Pragma to the header of your file.-homepage: http://clash-lang.org/-license: BSD-2-Clause-license-file: LICENSE-author: Christiaan Baaij-maintainer: christiaan.baaij@gmail.com-copyright: Copyright © 2016 , University of Twente,- 2017-2018, QBayLogic B.V.,- 2017 , Google Inc.-category: Type System-build-type: Simple-extra-source-files: README.md- CHANGELOG.md-tested-with: GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.8,- GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.4, GHC == 9.10.1,- GHC == 9.12.1--source-repository head- type: git- location: https://github.com/clash-lang/ghc-typelits-knownnat.git--flag deverror- description:- Enables `-Werror` for development mode and TravisCI- default: False- manual: True--library- exposed-modules: GHC.TypeLits.KnownNat- GHC.TypeLits.KnownNat.Solver- other-modules: GHC.TypeLits.KnownNat.Compat- GHC.TypeLits.KnownNat.TH- other-extensions: AllowAmbiguousTypes- DataKinds- FlexibleInstances- KindSignatures- LambdaCase- MultiParamTypeClasses- ScopedTypeVariables- TemplateHaskell- TupleSections- TypeApplications- TypeOperators- TypeFamilies- TypeInType- UndecidableInstances- ViewPatterns- build-depends: base >= 4.9 && <5,- ghc >= 8.0.1 && <9.17,- ghc-tcplugin-api >= 0.17.2.0 && <0.18,- ghc-typelits-natnormalise >= 0.8.0 && <0.9,- transformers >= 0.5.2.0 && <0.7,- template-haskell >= 2.11.0.0 && <2.26- hs-source-dirs: src- default-language: Haskell2010- ghc-options: -Wall -Wno-unticked-promoted-constructors- if flag(deverror)- ghc-options: -Werror-- if impl(ghc >= 9.0.0)- build-depends: ghc-bignum >=1.0 && <1.6- else- build-depends: integer-gmp >=1.0 && <1.1- mixins:- ghc- ( TcTypeNats as GHC.Builtin.Types.Literals- , CoreSyn as GHC.Core- , Class as GHC.Core.Class- , Coercion as GHC.Core.Coercion- , DataCon as GHC.Core.DataCon- , InstEnv as GHC.Core.InstEnv- , TyCoRep as GHC.Core.TyCo.Rep- , Type as GHC.Core.Type- , CoreUtils as GHC.Core.Utils- , Pair as GHC.Data.Pair- , Plugins as GHC.Driver.Plugins- , TcEvidence as GHC.Tc.Types.Evidence- , Id as GHC.Types.Id- , Name as GHC.Types.Name- , OccName as GHC.Types.Name.Occurrence- , Var as GHC.Types.Var- , Module as GHC.Unit.Module- )-- if impl(ghc >= 8.9)- mixins:- ghc- ( Predicate as GHC.Core.Predicate- , TyCoSubst as GHC.Core.TyCo.Subst- )- else- mixins:- ghc- ( Type as GHC.Core.Predicate- , Type as GHC.Core.TyCo.Subst- )--test-suite unittests- type: exitcode-stdio-1.0- main-is: Main.hs- Other-Modules: TestFunctions- build-depends: base >= 4.8 && <5,- ghc-typelits-knownnat,- ghc-typelits-natnormalise >= 0.8.0 && <0.9,- tasty >= 0.10,- tasty-hunit >= 0.9,- tasty-quickcheck >= 0.8- hs-source-dirs: tests- default-language: Haskell2010- other-extensions: DataKinds- FlexibleContexts- FlexibleInstances- GADTs- MultiParamTypeClasses- KindSignatures- ScopedTypeVariables- TemplateHaskell- TypeApplications- TypeFamilies- TypeFamilyDependencies- TypeOperators- UndecidableInstances- if flag(deverror)- ghc-options: -dcore-lint+cabal-version: 3.0 +name: ghc-typelits-knownnat +version: 0.8.0 +x-revision: 1 +synopsis: Derive KnownNat constraints from other KnownNat constraints +description: + A type checker plugin for GHC that can derive \"complex\" @KnownNat@ + constraints from other simple/variable @KnownNat@ constraints. i.e. without + this plugin, you must have both a @KnownNat n@ and a @KnownNat (n+2)@ + constraint in the type signature of the following function: + + @ + f :: forall n . (KnownNat n, KnownNat (n+2)) => Proxy n -> Integer + f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2)) + @ + + Using the plugin you can omit the @KnownNat (n+2)@ constraint: + + @ + f :: forall n . KnownNat n => Proxy n -> Integer + f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2)) + @ + + The plugin can derive @KnownNat@ constraints for types consisting of: + + * Type variables, when there is a corresponding @KnownNat@ constraint + + * Type-level naturals + + * Applications of the arithmetic expression: +,-,*,^ + + * Type functions, when there is either: + + 1. a matching given @KnownNat@ constraint; or + + 2. a corresponding @KnownNat\<N\>@ instance for the type function + + To use the plugin, add the + + @ + OPTIONS_GHC -fplugin GHC.TypeLits.KnownNat.Solver + @ + + Pragma to the header of your file. +homepage: http://clash-lang.org/ +license: BSD-2-Clause +license-file: LICENSE +author: Christiaan Baaij +maintainer: christiaan.baaij@gmail.com +copyright: Copyright © 2016 , University of Twente, + 2017-2018, QBayLogic B.V., + 2017 , Google Inc. +category: Type System +build-type: Simple +extra-source-files: README.md + CHANGELOG.md +tested-with: GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.8, + GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.4, GHC == 9.10.1, + GHC == 9.12.1 + +source-repository head + type: git + location: https://github.com/clash-lang/ghc-typelits-knownnat.git + +flag deverror + description: + Enables `-Werror` for development mode and TravisCI + default: False + manual: True + +library + exposed-modules: GHC.TypeLits.KnownNat + GHC.TypeLits.KnownNat.Solver + other-modules: GHC.TypeLits.KnownNat.Compat + GHC.TypeLits.KnownNat.TH + other-extensions: AllowAmbiguousTypes + DataKinds + FlexibleInstances + KindSignatures + LambdaCase + MultiParamTypeClasses + ScopedTypeVariables + TemplateHaskell + TupleSections + TypeApplications + TypeOperators + TypeFamilies + TypeInType + UndecidableInstances + ViewPatterns + build-depends: base >= 4.9 && <5, + ghc >= 8.0.1 && <9.17, + ghc-tcplugin-api >= 0.17.2.0 && <0.19, + ghc-typelits-natnormalise >= 0.8.0 && <0.9, + transformers >= 0.5.2.0 && <0.7, + template-haskell >= 2.11.0.0 && <2.26 + hs-source-dirs: src + default-language: Haskell2010 + ghc-options: -Wall -Wno-unticked-promoted-constructors + if flag(deverror) + ghc-options: -Werror + + if impl(ghc >= 9.0.0) + build-depends: ghc-bignum >=1.0 && <1.6 + else + build-depends: integer-gmp >=1.0 && <1.1 + mixins: + ghc + ( TcTypeNats as GHC.Builtin.Types.Literals + , CoreSyn as GHC.Core + , Class as GHC.Core.Class + , Coercion as GHC.Core.Coercion + , DataCon as GHC.Core.DataCon + , InstEnv as GHC.Core.InstEnv + , TyCoRep as GHC.Core.TyCo.Rep + , Type as GHC.Core.Type + , CoreUtils as GHC.Core.Utils + , Pair as GHC.Data.Pair + , Plugins as GHC.Driver.Plugins + , TcEvidence as GHC.Tc.Types.Evidence + , Id as GHC.Types.Id + , Name as GHC.Types.Name + , OccName as GHC.Types.Name.Occurrence + , Var as GHC.Types.Var + , Module as GHC.Unit.Module + ) + + if impl(ghc >= 8.9) + mixins: + ghc + ( Predicate as GHC.Core.Predicate + , TyCoSubst as GHC.Core.TyCo.Subst + ) + else + mixins: + ghc + ( Type as GHC.Core.Predicate + , Type as GHC.Core.TyCo.Subst + ) + +test-suite unittests + type: exitcode-stdio-1.0 + main-is: Main.hs + Other-Modules: TestFunctions + build-depends: base >= 4.8 && <5, + ghc-typelits-knownnat, + ghc-typelits-natnormalise >= 0.8.0 && <0.9, + tasty >= 0.10, + tasty-hunit >= 0.9, + tasty-quickcheck >= 0.8 + hs-source-dirs: tests + default-language: Haskell2010 + other-extensions: DataKinds + FlexibleContexts + FlexibleInstances + GADTs + MultiParamTypeClasses + KindSignatures + ScopedTypeVariables + TemplateHaskell + TypeApplications + TypeFamilies + TypeFamilyDependencies + TypeOperators + UndecidableInstances + if flag(deverror) + ghc-options: -dcore-lint