packages feed

Cabal revisions of ghc-typelits-natnormalise-0.9.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-natnormalise-version:             0.9.0-synopsis:            GHC typechecker plugin for types of kind GHC.TypeLits.Nat-description:-  A type checker plugin for GHC that can solve /equalities/ and /inequalities/-  of types of kind @Nat@, where these types are either:--  * Type-level naturals--  * Type variables--  * Applications of the arithmetic expressions @(+,-,*,^)@.--  It solves these equalities by normalising them to /sort-of/ @SOP@-  (Sum-of-Products) form, and then perform a simple syntactic equality.--  For example, this solver can prove the equality between:--  @-  (x + 2)^(y + 2)-  @--  and--  @-  4*x*(2 + x)^y + 4*(2 + x)^y + (2 + x)^y*x^2-  @--  Because the latter is actually the @SOP@ normal form of the former.--  To use the plugin, add the--  @-  OPTIONS_GHC -fplugin GHC.TypeLits.Normalise-  @--  Pragma to the header of your file.-homepage:            http://www.clash-lang.org/-bug-reports:         http://github.com/clash-lang/ghc-typelits-natnormalise/issues-license:             BSD-2-Clause-license-file:        LICENSE-author:              Christiaan Baaij-maintainer:          christiaan.baaij@gmail.com-copyright:           Copyright © 2015-2016, University of Twente,-                                 2017-2018, QBayLogic B.V.-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.7, GHC == 9.8.4, GHC == 9.10.2,-                     GHC == 9.12.2--source-repository head-  type: git-  location: https://github.com/clash-lang/ghc-typelits-natnormalise.git--flag deverror-  description:-    Enables `-Werror` for development mode and TravisCI-  default: False-  manual: True--library-  exposed-modules:     GHC.TypeLits.Normalise,-                       GHC.TypeLits.Normalise.Compat,-                       GHC.TypeLits.Normalise.SOP,-                       GHC.TypeLits.Normalise.Unify-  build-depends:       base                >=4.9   && <5,-                       containers          >=0.5.7.1 && <0.8,-                       ghc                 >=8.8.1 && <9.15,-                       ghc-tcplugin-api    >=0.18.0 && <0.19,-                       transformers        >=0.5.2.0 && < 0.7-  if impl(ghc >= 9.0.0)-    build-depends:     ghc-bignum >=1.0 && <1.5-  else-    build-depends:     integer-gmp >=1.0 && <1.1--    mixins:-      ghc-        ( TcTypeNats as GHC.Builtin.Types.Literals-        , TyCon      as GHC.Core.TyCon-        , TysWiredIn as GHC.Builtin.Types-        , Unique     as GHC.Types.Unique-        , Util       as GHC.Utils.Misc-        )--  hs-source-dirs:      src-  default-language:    Haskell2010-  other-extensions:    CPP-                       LambdaCase-                       RecordWildCards-                       TupleSections-  if flag(deverror)-    ghc-options:         -Wall -Werror-  else-    ghc-options:         -Wall--test-suite unit-tests-  type:                exitcode-stdio-1.0-  main-is:             Tests.hs-  Other-Modules:       ErrorTests-  build-depends:       base >=4.8 && <5,-                       ghc-typelits-natnormalise,-                       tasty >= 0.10,-                       tasty-hunit >= 0.9,-                       template-haskell >= 2.11.0.0-  if impl(ghc >= 9.4)-    build-depends:     ghc-prim >= 0.9-  hs-source-dirs:      tests-  default-language:    Haskell2010-  other-extensions:    DataKinds-                       GADTs-                       KindSignatures-                       NoImplicitPrelude-                       TemplateHaskell-                       TypeFamilies-                       TypeOperators-                       ScopedTypeVariables-  if flag(deverror)-    ghc-options:       -dcore-lint+cabal-version:       3.0
+name:                ghc-typelits-natnormalise
+version:             0.9.0
+x-revision: 1
+synopsis:            GHC typechecker plugin for types of kind GHC.TypeLits.Nat
+description:
+  A type checker plugin for GHC that can solve /equalities/ and /inequalities/
+  of types of kind @Nat@, where these types are either:
+
+  * Type-level naturals
+
+  * Type variables
+
+  * Applications of the arithmetic expressions @(+,-,*,^)@.
+
+  It solves these equalities by normalising them to /sort-of/ @SOP@
+  (Sum-of-Products) form, and then perform a simple syntactic equality.
+
+  For example, this solver can prove the equality between:
+
+  @
+  (x + 2)^(y + 2)
+  @
+
+  and
+
+  @
+  4*x*(2 + x)^y + 4*(2 + x)^y + (2 + x)^y*x^2
+  @
+
+  Because the latter is actually the @SOP@ normal form of the former.
+
+  To use the plugin, add the
+
+  @
+  OPTIONS_GHC -fplugin GHC.TypeLits.Normalise
+  @
+
+  Pragma to the header of your file.
+homepage:            http://www.clash-lang.org/
+bug-reports:         http://github.com/clash-lang/ghc-typelits-natnormalise/issues
+license:             BSD-2-Clause
+license-file:        LICENSE
+author:              Christiaan Baaij
+maintainer:          christiaan.baaij@gmail.com
+copyright:           Copyright © 2015-2016, University of Twente,
+                                 2017-2018, QBayLogic B.V.
+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.7, GHC == 9.8.4, GHC == 9.10.2,
+                     GHC == 9.12.2
+
+source-repository head
+  type: git
+  location: https://github.com/clash-lang/ghc-typelits-natnormalise.git
+
+flag deverror
+  description:
+    Enables `-Werror` for development mode and TravisCI
+  default: False
+  manual: True
+
+library
+  exposed-modules:     GHC.TypeLits.Normalise,
+                       GHC.TypeLits.Normalise.Compat,
+                       GHC.TypeLits.Normalise.SOP,
+                       GHC.TypeLits.Normalise.Unify
+  build-depends:       base                >=4.9   && <5,
+                       containers          >=0.5.7.1 && <0.9,
+                       ghc                 >=8.8.1 && <9.15,
+                       ghc-tcplugin-api    >=0.18.0 && <0.19,
+                       transformers        >=0.5.2.0 && < 0.7
+  if impl(ghc >= 9.0.0)
+    build-depends:     ghc-bignum >=1.0 && <1.5
+  else
+    build-depends:     integer-gmp >=1.0 && <1.1
+
+    mixins:
+      ghc
+        ( TcTypeNats as GHC.Builtin.Types.Literals
+        , TyCon      as GHC.Core.TyCon
+        , TysWiredIn as GHC.Builtin.Types
+        , Unique     as GHC.Types.Unique
+        , Util       as GHC.Utils.Misc
+        )
+
+  hs-source-dirs:      src
+  default-language:    Haskell2010
+  other-extensions:    CPP
+                       LambdaCase
+                       RecordWildCards
+                       TupleSections
+  if flag(deverror)
+    ghc-options:         -Wall -Werror
+  else
+    ghc-options:         -Wall
+
+test-suite unit-tests
+  type:                exitcode-stdio-1.0
+  main-is:             Tests.hs
+  Other-Modules:       ErrorTests
+  build-depends:       base >=4.8 && <5,
+                       ghc-typelits-natnormalise,
+                       tasty >= 0.10,
+                       tasty-hunit >= 0.9,
+                       template-haskell >= 2.11.0.0
+  if impl(ghc >= 9.4)
+    build-depends:     ghc-prim >= 0.9
+  hs-source-dirs:      tests
+  default-language:    Haskell2010
+  other-extensions:    DataKinds
+                       GADTs
+                       KindSignatures
+                       NoImplicitPrelude
+                       TemplateHaskell
+                       TypeFamilies
+                       TypeOperators
+                       ScopedTypeVariables
+  if flag(deverror)
+    ghc-options:       -dcore-lint