effectful-plugin 1.1.0.2 → 1.1.0.3
raw patch · 4 files changed
+55/−41 lines, 4 filesdep ~basedep ~ghcPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, ghc
API changes (from Hackage documentation)
- Effectful.Plugin: instance GHC.Show.Show Effectful.Plugin.FakedepGiven
- Effectful.Plugin: instance GHC.Show.Show Effectful.Plugin.FakedepWanted
+ Effectful.Plugin: instance GHC.Show.Show Effectful.Plugin.EffGiven
+ Effectful.Plugin: instance GHC.Show.Show Effectful.Plugin.EffWanted
Files
- CHANGELOG.md +3/−0
- effectful-plugin.cabal +7/−6
- src-legacy/Effectful/Plugin.hs +44/−34
- src/Effectful/Plugin.hs +1/−1
CHANGELOG.md view
@@ -1,3 +1,6 @@+# effectful-plugin-1.1.0.3 (2024-06-07)+* Drop support for GHC 8.8.+ # effectful-plugin-1.1.0.2 (2023-09-13) * Add support for GHC 9.8.
effectful-plugin.cabal view
@@ -1,7 +1,7 @@-cabal-version: 2.4+cabal-version: 3.0 build-type: Simple name: effectful-plugin-version: 1.1.0.2+version: 1.1.0.3 license: BSD-3-Clause license-file: LICENSE category: Control@@ -17,8 +17,7 @@ extra-source-files: CHANGELOG.md README.md -tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.7 || ==9.6.2- || ==9.8.1+tested-with: GHC == { 8.10.7, 9.0.2, 9.2.8, 9.4.8, 9.6.5, 9.8.2, 9.10.1 } bug-reports: https://github.com/haskell-effectful/effectful/issues source-repository head@@ -27,6 +26,7 @@ common language ghc-options: -Wall -Wcompat -Wno-unticked-promoted-constructors+ -Werror=prepositive-qualified-module default-language: Haskell2010 @@ -39,6 +39,7 @@ FlexibleInstances GADTs GeneralizedNewtypeDeriving+ ImportQualifiedPost LambdaCase MultiParamTypeClasses NoStarIsType@@ -55,10 +56,10 @@ library import: language - build-depends: base >= 4.13 && < 5+ build-depends: base >= 4.14 && < 5 , effectful-core >= 1.0.0.0 && < 3.0.0.0 , containers >= 0.5- , ghc >= 8.8 && < 9.9+ , ghc >= 8.10 && < 9.11 if impl(ghc < 9.4) build-depends: ghc-tcplugins-extra >= 0.3 && < 0.5
src-legacy/Effectful/Plugin.hs view
@@ -2,46 +2,56 @@ {-# LANGUAGE CPP #-} module Effectful.Plugin (plugin) where -import Data.Function (on)-import Data.IORef (IORef, modifyIORef, newIORef, readIORef)-import Data.Maybe (isNothing, mapMaybe)-import Data.Set (Set)-import qualified Data.Set as Set-import Data.Traversable (for)-import GHC.TcPluginM.Extra (lookupModule, lookupName)+import Data.Function (on)+import Data.IORef (IORef, modifyIORef, newIORef, readIORef)+import Data.Maybe (isNothing, mapMaybe)+import Data.Set (Set)+import Data.Set qualified as Set+import Data.Traversable (for)+import GHC.TcPluginM.Extra (lookupModule, lookupName) #if __GLASGOW_HASKELL__ >= 900-import GHC.Core.Class (Class)-import GHC.Core.InstEnv (InstEnvs, lookupInstEnv)-import GHC.Core.Unify (tcUnifyTy)-import GHC.Plugins (Outputable (ppr), Plugin (pluginRecompile, tcPlugin), PredType,- Role (Nominal), TCvSubst, Type, defaultPlugin, eqType, fsLit, mkModuleName,- mkTcOcc, nonDetCmpType, purePlugin, showSDocUnsafe, splitAppTys, substTys,- tyConClass_maybe)-import GHC.Tc.Plugin (tcLookupClass, tcPluginIO)-import GHC.Tc.Solver.Monad (newWantedEq, runTcSDeriveds)-import GHC.Tc.Types (TcM, TcPlugin (TcPlugin, tcPluginInit, tcPluginSolve, tcPluginStop),- TcPluginM, TcPluginResult (TcPluginOk), unsafeTcPluginTcM)-import GHC.Tc.Types.Constraint (Ct (CDictCan, CNonCanonical), CtEvidence (CtWanted), CtLoc, ctPred)-import GHC.Tc.Utils.Env (tcGetInstEnvs)-import GHC.Tc.Utils.TcType (tcSplitTyConApp)+import GHC.Core.Class (Class)+import GHC.Core.InstEnv (InstEnvs, lookupInstEnv)+import GHC.Core.Unify (tcUnifyTy)+import GHC.Plugins+ ( Outputable (ppr), Plugin (pluginRecompile, tcPlugin), PredType+ , Role (Nominal), TCvSubst, Type, defaultPlugin, eqType, fsLit, mkModuleName+ , mkTcOcc, nonDetCmpType, purePlugin, showSDocUnsafe, splitAppTys, substTys+ , tyConClass_maybe+ )+import GHC.Tc.Plugin (tcLookupClass, tcPluginIO)+import GHC.Tc.Solver.Monad (newWantedEq, runTcSDeriveds)+import GHC.Tc.Types+ ( TcM, TcPlugin (TcPlugin, tcPluginInit, tcPluginSolve, tcPluginStop)+ , TcPluginM, TcPluginResult (TcPluginOk), unsafeTcPluginTcM+ )+import GHC.Tc.Types.Constraint+ (Ct (CDictCan, CNonCanonical), CtEvidence (CtWanted), CtLoc, ctPred+ )+import GHC.Tc.Utils.Env (tcGetInstEnvs)+import GHC.Tc.Utils.TcType (tcSplitTyConApp) #else-import Class (Class)+import Class (Class) #if __GLASGOW_HASKELL__ >= 810-import Constraint (Ct (CDictCan, CNonCanonical), CtEvidence (CtWanted), CtLoc, ctPred)+import Constraint+ (Ct (CDictCan, CNonCanonical), CtEvidence (CtWanted), CtLoc, ctPred+ ) #endif-import GhcPlugins (Outputable (ppr), Plugin (pluginRecompile, tcPlugin), PredType,- Role (Nominal), TCvSubst, Type, defaultPlugin, eqType, fsLit, mkModuleName,- mkTcOcc, nonDetCmpType, purePlugin, showSDocUnsafe, splitAppTys, substTys,- tyConClass_maybe)-import InstEnv (InstEnvs, lookupInstEnv)-import TcEnv (tcGetInstEnvs)-import TcPluginM (tcLookupClass, tcPluginIO)-import TcRnTypes-import TcSMonad (newWantedEq, runTcSDeriveds)-import TcType (tcSplitTyConApp)-import Unify (tcUnifyTy)+import GhcPlugins+ ( Outputable (ppr), Plugin (pluginRecompile, tcPlugin), PredType+ , Role (Nominal), TCvSubst, Type, defaultPlugin, eqType, fsLit, mkModuleName+ , mkTcOcc, nonDetCmpType, purePlugin, showSDocUnsafe, splitAppTys, substTys+ , tyConClass_maybe+ )+import InstEnv (InstEnvs, lookupInstEnv)+import TcEnv (tcGetInstEnvs)+import TcPluginM (tcLookupClass, tcPluginIO)+import TcRnTypes+import TcSMonad (newWantedEq, runTcSDeriveds)+import TcType (tcSplitTyConApp)+import Unify (tcUnifyTy) #endif plugin :: Plugin
src/Effectful/Plugin.hs view
@@ -6,8 +6,8 @@ import Data.IORef import Data.Maybe import Data.Set (Set)+import Data.Set qualified as Set import Data.Traversable-import qualified Data.Set as Set import GHC.Core.Class (Class) import GHC.Core.InstEnv (InstEnvs, lookupInstEnv)