packages feed

ghc-typelits-presburger 0.5.2.0 → 0.6.0.0

raw patch · 3 files changed

+46/−13 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ GHC.TypeLits.Presburger.Compat: noExtField :: NoExtField
+ GHC.TypeLits.Presburger.Compat: pattern IsBoot :: IsBootInterface
+ GHC.TypeLits.Presburger.Compat: pattern NotBoot :: IsBootInterface
+ GHC.TypeLits.Presburger.Compat: type HsModule' = HsModule GhcPs
+ GHC.TypeLits.Presburger.Compat: type IsBootInterface = Bool

Files

ghc-typelits-presburger.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: f4ea69ea55a2f6e349e91e0e359ba111afa36236c8c094e799d1e95ac82ce411+-- hash: f5d043e0588502295fbbf222a24c404b5415e14c21786d9e5e7bacc06e2088af  name:           ghc-typelits-presburger-version:        0.5.2.0+version:        0.6.0.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.@@ -29,7 +29,7 @@ copyright:      2015 (c) Hiromi ISHII license:        BSD3 license-file:   LICENSE-tested-with:    GHC==8.4.3 GHC==8.6.3 GHC==8.8.3 GHC==8.10.3 GHC==9.0.1+tested-with:    GHC==8.6.5 GHC==8.8.4 GHC==8.10.4 GHC==9.0.1 build-type:     Simple  source-repository head
src/GHC/TypeLits/Presburger/Compat.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE CPP, FlexibleInstances, PatternGuards, PatternSynonyms #-} {-# LANGUAGE TypeSynonymInstances, ViewPatterns                     #-}+{-# LANGUAGE PatternSynonyms #-} {-# OPTIONS_GHC -Wno-orphans #-} module GHC.TypeLits.Presburger.Compat (module GHC.TypeLits.Presburger.Compat) where import Data.Function       (on)@@ -10,6 +11,9 @@ #if MIN_VERSION_ghc(9,0,0) import GHC.Builtin.Names as GHC.TypeLits.Presburger.Compat (gHC_TYPENATS, dATA_TYPE_EQUALITY) import qualified GHC.Builtin.Names as Old+import GHC.Hs as GHC.TypeLits.Presburger.Compat (HsModule(..), NoExtField(..))+import GHC.Hs.ImpExp as GHC.TypeLits.Presburger.Compat (ImportDecl(..), ImportDeclQualifiedStyle(..))+import GHC.Hs.Extension as GHC.TypeLits.Presburger.Compat (GhcPs) import GHC.Builtin.Types as GHC.TypeLits.Presburger.Compat   ( boolTyCon,     eqTyConName,@@ -34,7 +38,9 @@ import GHC.Driver.Session (unitState) import GHC.Plugins (InScopeSet, Outputable, emptyUFM, moduleUnit, Unit) import GHC.Plugins as GHC.TypeLits.Presburger.Compat-  ( PackageName (..),+  ( PackageName (..),isStrLitTy, isNumLitTy,+    nilDataCon, consDataCon,+    Hsc, HsParsedModule(..),     Plugin (..),     TCvSubst (..),     TvSubstEnv,@@ -59,8 +65,12 @@     unionTCvSubst,   ) import GHC.Tc.Plugin (lookupOrig)+import GHC.Core.InstEnv as GHC.TypeLits.Presburger.Compat (classInstances)+import GHC.Driver.Types as GHC.TypeLits.Presburger.Compat (IsBootInterface(..)) import GHC.Tc.Plugin as GHC.TypeLits.Presburger.Compat   ( TcPluginM,+    getInstEnvs,+    newFlexiTyVar,     getTopEnv,     lookupOrig,     newFlexiTyVar,@@ -159,12 +169,13 @@ #if MIN_VERSION_ghc(8,10,1) import Predicate as GHC.TypeLits.Presburger.Compat (EqRel (..), Pred(..)) import Predicate as GHC.TypeLits.Presburger.Compat (isEqPred)-+import GHC (NoExtField(..)) import qualified Predicate as Old (classifyPredType) import Predicate as GHC.TypeLits.Presburger.Compat  (mkPrimEqPredRole) import Constraint as GHC.TypeLits.Presburger.Compat      (Ct, ctEvidence, ctEvPred, isWanted) #else+import GHC (NoExt(..)) import GhcPlugins as GHC.TypeLits.Presburger.Compat (EqRel (..), PredTree (..)) import GhcPlugins as GHC.TypeLits.Presburger.Compat (isEqPred) import qualified GhcPlugins as Old (classifyPredType)@@ -359,3 +370,32 @@ moduleUnit' :: Module -> ModuleUnit moduleUnit' = GHC.moduleUnitId #endif++#if !MIN_VERSION_ghc(8,10,1)+type NoExtField = NoExt+#endif++noExtField :: NoExtField+#if MIN_VERSION_ghc(8,10,1)+noExtField = NoExtField+#else+noExtField = NoExt+#endif++#if MIN_VERSION_ghc(9,0,1)+type HsModule' = HsModule+#else+type HsModule' = GHC.HsModule GHC.GhcPs+#endif++#if !MIN_VERSION_ghc(9,0,1)+type IsBootInterface = Bool+pattern NotBoot :: IsBootInterface+pattern NotBoot = False++pattern IsBoot :: IsBootInterface+pattern IsBoot = True++{-# COMPLETE NotBoot, IsBoot #-}+#endif+
src/GHC/TypeLits/Presburger/Types.hs view
@@ -267,16 +267,9 @@     let givens = catMaybes ngs         prems0 = map snd givens         prems = foldr assert' noProps prems0-        (solved, _) = foldr go ([], noProps) givens     if isNothing (checkSat prems)       then return $ TcPluginContradiction gs-      else do-        tcPluginTrace "Redundant solveds" $ ppr solved-        return $ TcPluginOk (map withEv solved) []-  where-    go (ct, p) (ss, prem)-      | Proved <- testIf prem p = (ct : ss, prem)-      | otherwise = (ss, assert' p prem)+      else return $ TcPluginOk [] [] decidePresburger mode genTrans _ gs _ds ws = do   trans <- genTrans   give trans $ do