From b5b954563972a2ae1297103f39c57c243f0f2a7a Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Thu, 3 Aug 2023 13:40:51 -0400 Subject: [PATCH 1/4] Whitespace only --- crucible-go/src/Lang/Crucible/Go/TransUtil.hs | 2 +- .../src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs | 8 ++++---- crucible-mir/src/Mir/Intrinsics.hs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crucible-go/src/Lang/Crucible/Go/TransUtil.hs b/crucible-go/src/Lang/Crucible/Go/TransUtil.hs index f62298b03..4e47d1264 100644 --- a/crucible-go/src/Lang/Crucible/Go/TransUtil.hs +++ b/crucible-go/src/Lang/Crucible/Go/TransUtil.hs @@ -1,6 +1,6 @@ {-| Module : Lang.Crucible.Go.TransUtil -Description : Go translation +Description : Go translation Maintainer : abagnall@galois.com Stability : experimental diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs b/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs index db3d88088..e36d0ecd2 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs @@ -7,7 +7,7 @@ -- License : BSD3 -- Stability : provisional -- --- +-- -- This module provides an execution feature that can be installed -- into the Crucible simulator which facilitates reasoning about -- certain kinds of loops by using loop invariants instead of @@ -40,7 +40,7 @@ -- unknown value of a loop-carried dependency. We continue this process -- until we reach a fixpoint; then we will have captured all the locations -- that are potentially of interest for the loop invariant. --- +-- -- Once we have found all the loop-carried dependencies, we assert -- that the loop invariant holds on the initial values upon entry to the -- loop. Then, we set up another execution starting from the loop head @@ -668,7 +668,7 @@ simpleLoopInvariant :: forall sym ext p rtp blocks init ret . (C.IsSymInterface sym, C.IsSyntaxExtension ext, C.HasLLVMAnn sym, ?memOpts :: C.MemOptions) => sym -> - Integer {- ^ which of the discovered loop heads to install a loop invariant onto -} -> + Integer {- ^ which of the discovered loop heads to install a loop invariant onto -} -> C.CFG ext blocks init ret {- ^ The function we want to verify -} -> C.GlobalVar C.Mem {- ^ global variable representing memory -} -> (InvariantPhase -> [Some (W4.SymExpr sym)] -> MapF (W4.SymExpr sym) (InvariantEntry sym) -> IO (W4.Pred sym)) -> @@ -851,7 +851,7 @@ advanceFixpointState bak mem_var loop_invariant block_id sim_state fixpoint_stat -- drop variables that don't appear along some back edge (? understand this better) filterSubstitution sym $ join_substitution - { varSubst = + { varSubst = MapF.union (varSubst join_substitution) $ -- this implements zip, because the two maps have the same keys MapF.intersectWithKeyMaybe diff --git a/crucible-mir/src/Mir/Intrinsics.hs b/crucible-mir/src/Mir/Intrinsics.hs index 8a76ab714..a84df628c 100644 --- a/crucible-mir/src/Mir/Intrinsics.hs +++ b/crucible-mir/src/Mir/Intrinsics.hs @@ -799,7 +799,7 @@ adjustMirVectorWithSymIndex bak iteFn (MirVector_PartialVector pv) i adj = do return $ justPartExpr sym val' return $ MirVector_PartialVector pv' adjustMirVectorWithSymIndex bak _ (MirVector_Array a) i adj = do - let sym = backendGetSym bak + let sym = backendGetSym bak x <- liftIO $ arrayLookup sym a (Empty :> i) x' <- adj x liftIO $ MirVector_Array <$> arrayUpdate sym a (Empty :> i) x' From 86f00016f9289a5004e6f74a6ca03d2dcc4e2f46 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Fri, 28 Jul 2023 17:26:01 -0400 Subject: [PATCH 2/4] Support building with GHC 9.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch contains a variety of fixes needed to build the libraries in the `crucible` repo with GHC 9.6: * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad`, `Control.Monad.IO.Class`, and similar modules from `mtl`-related modules. To accommodate this, various imports have been made more explicit. * Per [this part](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.6?version_id=e9996b225b1f2a5005178283f833fe6ce341beb3#type-changing-record-updates-involving-type-families) of the GHC 9.6 migration guide, a type-changing record update involving `emptyInitialFileSystemContents` had to be disambiguated using an explicit type application. * Various upper version bounds on `base` and `aeson` were raised to allow building with GHC 9.6. * The following submodules were bumped to bring in GHC 9.6–related changes: * `golang`: https://github.com/GaloisInc/golang/pull/9 * `llvm-pretty`: https://github.com/elliottt/llvm-pretty/pull/112 * `llvm-pretty-bc-parser`: https://github.com/GaloisInc/llvm-pretty-bc-parser/pull/225 * `what4`: https://github.com/GaloisInc/what4/pull/235 --- crucible-concurrency/src/Crucibles/DPOR.hs | 3 ++- crucible-concurrency/src/Crucibles/Explore.hs | 5 +++-- crucible-go/src/Lang/Crucible/Go/Builtin.hs | 3 ++- crucible-go/src/Lang/Crucible/Go/TransUtil.hs | 4 ++-- .../src/Lang/Crucible/Go/Translation.hs | 6 +++--- .../src/Lang/Crucible/JVM/Overrides.hs | 7 +++++-- crucible-jvm/src/Lang/Crucible/JVM/Simulate.hs | 5 ++++- .../src/Lang/Crucible/JVM/Translation.hs | 4 +++- .../src/Lang/Crucible/JVM/Translation/Class.hs | 3 ++- .../src/Lang/Crucible/JVM/Translation/Monad.hs | 2 +- crucible-llvm/crucible-llvm.cabal | 2 +- crucible-llvm/src/Lang/Crucible/LLVM/Ctors.hs | 3 ++- .../src/Lang/Crucible/LLVM/Globals.hs | 4 +++- .../src/Lang/Crucible/LLVM/Intrinsics.hs | 3 ++- .../src/Lang/Crucible/LLVM/Intrinsics/LLVM.hs | 3 ++- .../src/Lang/Crucible/LLVM/Intrinsics/Libc.hs | 6 ++++-- .../src/Lang/Crucible/LLVM/MemModel/Common.hs | 2 +- .../src/Lang/Crucible/LLVM/MemModel/Partial.hs | 3 ++- .../Lang/Crucible/LLVM/SimpleLoopFixpoint.hs | 6 ++++-- .../Lang/Crucible/LLVM/SimpleLoopInvariant.hs | 8 +++++--- .../src/Lang/Crucible/LLVM/Translation.hs | 2 +- .../Crucible/LLVM/Translation/Instruction.hs | 7 +++++-- .../Lang/Crucible/LLVM/Translation/Monad.hs | 4 +++- crucible-mir/crucible-mir.cabal | 2 +- crucible-symio/crucible-symio.cabal | 4 ++-- crucible-syntax/crucible-syntax.cabal | 2 +- .../src/Lang/Crucible/Syntax/Concrete.hs | 18 +++++++++--------- .../src/Lang/Crucible/Syntax/ExprParse.hs | 5 ++++- crucible/crucible.cabal | 4 ++-- crucible/src/Lang/Crucible/CFG/Generator.hs | 5 ++++- .../src/Lang/Crucible/Simulator/EvalStmt.hs | 4 +++- .../src/Lang/Crucible/Simulator/Operations.hs | 5 ++++- .../src/Lang/Crucible/Simulator/OverrideSim.hs | 5 +++-- .../src/Lang/Crucible/Simulator/Profiling.hs | 2 +- crux-llvm/crux-llvm.cabal | 2 +- crux-llvm/src/Crux/LLVM/Simulate.hs | 7 ++++--- crux-mir/crux-mir.cabal | 2 +- crux/crux.cabal | 2 +- dependencies/golang | 2 +- dependencies/llvm-pretty | 2 +- dependencies/llvm-pretty-bc-parser | 2 +- dependencies/what4 | 2 +- uc-crux-llvm/uc-crux-llvm.cabal | 4 ++-- 43 files changed, 109 insertions(+), 67 deletions(-) diff --git a/crucible-concurrency/src/Crucibles/DPOR.hs b/crucible-concurrency/src/Crucibles/DPOR.hs index 074ed1d24..37e152181 100644 --- a/crucible-concurrency/src/Crucibles/DPOR.hs +++ b/crucible-concurrency/src/Crucibles/DPOR.hs @@ -21,6 +21,8 @@ E. That's it! We use clockvectors to quickly compute the happens-before relation module Crucibles.DPOR (DPOR, ppSchedExecutionsDPOR) where import Control.Lens +import Control.Monad (foldM_, forM_, when) +import Control.Monad.State (gets) import Data.List (intercalate) import Data.Map.Strict (Map) import qualified Data.Set as Set @@ -28,7 +30,6 @@ import Data.Text (Text) import qualified Data.IntMap.Strict as IntMap import Data.Maybe (fromMaybe) import GHC.Stack -import Control.Monad.State import Data.Foldable (traverse_) import Crucibles.Common diff --git a/crucible-concurrency/src/Crucibles/Explore.hs b/crucible-concurrency/src/Crucibles/Explore.hs index d1ceae93f..dee2e1a43 100644 --- a/crucible-concurrency/src/Crucibles/Explore.hs +++ b/crucible-concurrency/src/Crucibles/Explore.hs @@ -37,9 +37,10 @@ should be selected after the execution of a given hook. module Crucibles.Explore ( scheduleFeature, ppScheduler ) where import Control.Lens +import Control.Monad (unless, when) import Control.Monad.IO.Class -import Control.Monad.State -import Control.Monad.Reader +import Control.Monad.State (MonadState(..), StateT(..), evalStateT, gets) +import Control.Monad.Reader (ReaderT(..)) import qualified Data.Set as Set import qualified Data.IntSet as IntSet import qualified Data.Map.Strict as Map diff --git a/crucible-go/src/Lang/Crucible/Go/Builtin.hs b/crucible-go/src/Lang/Crucible/Go/Builtin.hs index 194848a6e..1a059f837 100644 --- a/crucible-go/src/Lang/Crucible/Go/Builtin.hs +++ b/crucible-go/src/Lang/Crucible/Go/Builtin.hs @@ -14,7 +14,8 @@ arguments. {-# LANGUAGE OverloadedStrings #-} module Lang.Crucible.Go.Builtin (translateBuiltin) where -import Control.Monad.State +import Control.Monad (forM, forM_) +import Control.Monad.State (gets) import Data.Functor.Product import qualified Data.Text as T hiding (foldl, length, zip) diff --git a/crucible-go/src/Lang/Crucible/Go/TransUtil.hs b/crucible-go/src/Lang/Crucible/Go/TransUtil.hs index 4e47d1264..4b18d9790 100644 --- a/crucible-go/src/Lang/Crucible/Go/TransUtil.hs +++ b/crucible-go/src/Lang/Crucible/Go/TransUtil.hs @@ -15,9 +15,9 @@ This file contains helper functions used by the translation module. {-# LANGUAGE TypeOperators #-} module Lang.Crucible.Go.TransUtil where +import Control.Monad (foldM) import Control.Monad.Fail (MonadFail) -import Control.Monad.Identity -import Control.Monad.State +import Control.Monad.Identity (runIdentity) import Data.BitVector.Sized import Data.Functor.Product diff --git a/crucible-go/src/Lang/Crucible/Go/Translation.hs b/crucible-go/src/Lang/Crucible/Go/Translation.hs index 11c8b41e0..219bdf027 100644 --- a/crucible-go/src/Lang/Crucible/Go/Translation.hs +++ b/crucible-go/src/Lang/Crucible/Go/Translation.hs @@ -64,10 +64,10 @@ allow a lookup attempt before considering them as built-ins. {-# LANGUAGE TypeOperators #-} module Lang.Crucible.Go.Translation (translate) where -import Control.Monad.Except +import Control.Monad ((>=>), foldM, forM, forM_, when) +import Control.Monad.Except (runExceptT) import Control.Monad.Fail (MonadFail) -import Control.Monad.Identity -import Control.Monad.State +import Control.Monad.State (MonadState(..), evalStateT, gets, modify) import Data.BitVector.Sized import Data.Default.Class diff --git a/crucible-jvm/src/Lang/Crucible/JVM/Overrides.hs b/crucible-jvm/src/Lang/Crucible/JVM/Overrides.hs index 42d93e9c1..50a1e5c14 100644 --- a/crucible-jvm/src/Lang/Crucible/JVM/Overrides.hs +++ b/crucible-jvm/src/Lang/Crucible/JVM/Overrides.hs @@ -37,9 +37,12 @@ module Lang.Crucible.JVM.Overrides where import Numeric(fromRat) import Data.Maybe (isJust, fromJust) import Data.Semigroup(Semigroup(..),(<>)) -import Control.Monad.State.Strict +import Control.Monad (when) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.State.Strict (MonadState(..), StateT) +import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Monad.ST -import Control.Monad.Reader +import Control.Monad.Reader () import Control.Lens hiding (op, (:>)) import Data.Int (Int32) import Data.Map.Strict (Map) diff --git a/crucible-jvm/src/Lang/Crucible/JVM/Simulate.hs b/crucible-jvm/src/Lang/Crucible/JVM/Simulate.hs index 45987d98d..bc7e19f3d 100644 --- a/crucible-jvm/src/Lang/Crucible/JVM/Simulate.hs +++ b/crucible-jvm/src/Lang/Crucible/JVM/Simulate.hs @@ -23,7 +23,10 @@ module Lang.Crucible.JVM.Simulate where -- base import Data.Maybe (maybeToList) -import Control.Monad.State.Strict +import Control.Monad (foldM, when) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.State.Strict (StateT(..), execStateT, modify) +import Control.Monad.Trans.Class (MonadTrans(..)) import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map import Data.Maybe (fromMaybe) diff --git a/crucible-jvm/src/Lang/Crucible/JVM/Translation.hs b/crucible-jvm/src/Lang/Crucible/JVM/Translation.hs index 0046185b4..4958a7d05 100644 --- a/crucible-jvm/src/Lang/Crucible/JVM/Translation.hs +++ b/crucible-jvm/src/Lang/Crucible/JVM/Translation.hs @@ -22,7 +22,9 @@ module Lang.Crucible.JVM.Translation ) where -- base -import Control.Monad.State.Strict +import Control.Monad (void) +import Control.Monad.State.Strict (MonadState(..), StateT, execStateT) +import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Lens hiding (op, (:>)) import Data.Int (Int32) import Data.Map.Strict (Map) diff --git a/crucible-jvm/src/Lang/Crucible/JVM/Translation/Class.hs b/crucible-jvm/src/Lang/Crucible/JVM/Translation/Class.hs index a5654ef9c..e634123d9 100644 --- a/crucible-jvm/src/Lang/Crucible/JVM/Translation/Class.hs +++ b/crucible-jvm/src/Lang/Crucible/JVM/Translation/Class.hs @@ -104,7 +104,8 @@ module Lang.Crucible.JVM.Translation.Class ) where -import Control.Monad.State.Strict +import Control.Monad (unless, when) +import Control.Monad.State.Strict (gets) import Data.Map (Map) import qualified Data.Map.Strict as Map import Data.Maybe (maybeToList, mapMaybe) diff --git a/crucible-jvm/src/Lang/Crucible/JVM/Translation/Monad.hs b/crucible-jvm/src/Lang/Crucible/JVM/Translation/Monad.hs index d8e0935d0..ca98e449d 100644 --- a/crucible-jvm/src/Lang/Crucible/JVM/Translation/Monad.hs +++ b/crucible-jvm/src/Lang/Crucible/JVM/Translation/Monad.hs @@ -16,7 +16,7 @@ module Lang.Crucible.JVM.Translation.Monad where -- base import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map -import Control.Monad.State.Strict +import Control.Monad (when) import Control.Lens hiding (op, (:>)) import qualified Data.Text as Text diff --git a/crucible-llvm/crucible-llvm.cabal b/crucible-llvm/crucible-llvm.cabal index fdd0263a1..a2cf3a55a 100644 --- a/crucible-llvm/crucible-llvm.cabal +++ b/crucible-llvm/crucible-llvm.cabal @@ -28,7 +28,7 @@ common bldflags library import: bldflags build-depends: - base >= 4.13 && < 4.18, + base >= 4.13 && < 4.19, attoparsec, bv-sized >= 1.0.0, bytestring, diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Ctors.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Ctors.hs index 478bb1abb..73890f8d2 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Ctors.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Ctors.hs @@ -34,7 +34,8 @@ import qualified Data.Text as Text import GHC.Generics (Generic) import Data.Parameterized.Nonce -import Control.Monad.Except as Except +import Control.Monad (forM, forM_) +import Control.Monad.Except (MonadError(..)) import Data.List (find, sortBy) import Data.Ord (comparing, Down(..)) import Data.Maybe (fromMaybe) diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Globals.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Globals.hs index 0c05519ac..e7c023bd0 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Globals.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Globals.hs @@ -42,7 +42,9 @@ module Lang.Crucible.LLVM.Globals ) where import Control.Arrow ((&&&)) -import Control.Monad.Except +import Control.Monad (foldM) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Except (MonadError(..)) import Control.Lens hiding (op, (:>) ) import Data.List (foldl') import Data.Map.Strict (Map) diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics.hs index dedec9666..46dd5a9e4 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics.hs @@ -32,7 +32,8 @@ module Lang.Crucible.LLVM.Intrinsics ) where import Control.Lens hiding (op, (:>), Empty) -import Control.Monad.Reader +import Control.Monad (forM_) +import Control.Monad.Reader (ReaderT(..)) import Control.Monad.Trans.Maybe import Data.Foldable (asum) import Data.List (stripPrefix, tails, isPrefixOf) diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/LLVM.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/LLVM.hs index f779a1a31..1cf7c4e12 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/LLVM.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/LLVM.hs @@ -30,7 +30,8 @@ module Lang.Crucible.LLVM.Intrinsics.LLVM where import GHC.TypeNats (KnownNat) import Control.Lens hiding (op, (:>), Empty) -import Control.Monad.Reader +import Control.Monad (unless) +import Control.Monad.IO.Class (MonadIO(..)) import Data.Bits ((.&.)) import qualified Data.Vector as V import qualified Text.LLVM.AST as L diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/Libc.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/Libc.hs index 282b45b17..0a96d0308 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/Libc.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Intrinsics/Libc.hs @@ -29,8 +29,10 @@ module Lang.Crucible.LLVM.Intrinsics.Libc where import Control.Lens ((^.), _1, _2, _3) import qualified Codec.Binary.UTF8.Generic as UTF8 -import Control.Monad.Reader -import Control.Monad.State +import Control.Monad (when) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.State (MonadState(..), StateT(..)) +import Control.Monad.Trans.Class (MonadTrans(..)) import qualified Data.ByteString as BS import qualified Data.Vector as V import System.IO diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Common.hs b/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Common.hs index a9cdba8d6..022ceaf02 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Common.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Common.hs @@ -50,7 +50,7 @@ module Lang.Crucible.LLVM.MemModel.Common import Control.Exception (assert) import Control.Lens -import Control.Monad.State +import Control.Monad (guard) import Data.Map (Map) import qualified Data.Map as Map import Data.Maybe diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Partial.hs b/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Partial.hs index 6b84d87d3..ebe3e768e 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Partial.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/MemModel/Partial.hs @@ -67,7 +67,8 @@ module Lang.Crucible.LLVM.MemModel.Partial import Prelude hiding (pred) import Control.Lens ((^.), view) -import Control.Monad.Except +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Except (ExceptT, MonadError(..), runExceptT) import Control.Monad.State.Strict (StateT, get, put, runStateT) import qualified Data.ByteString as BS import qualified Data.Foldable as Fold diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopFixpoint.hs b/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopFixpoint.hs index d9a6f320e..af22ea5f1 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopFixpoint.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopFixpoint.hs @@ -29,8 +29,10 @@ module Lang.Crucible.LLVM.SimpleLoopFixpoint ) where import Control.Lens -import Control.Monad.Reader -import Control.Monad.State +import Control.Monad (when) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Reader (ReaderT(..)) +import Control.Monad.State (MonadState(..), StateT(..)) import Control.Monad.Trans.Maybe import Data.Either import Data.Foldable diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs b/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs index e36d0ecd2..32c175076 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/SimpleLoopInvariant.hs @@ -98,9 +98,11 @@ module Lang.Crucible.LLVM.SimpleLoopInvariant ) where import Control.Lens -import Control.Monad.Reader -import Control.Monad.State -import Control.Monad.Except +import Control.Monad (forM, unless, when) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Except (ExceptT, MonadError(..), runExceptT) +import Control.Monad.Reader (MonadReader(..), ReaderT, runReaderT) +import Control.Monad.State (MonadState(..), StateT(..)) import Data.Foldable import qualified Data.IntMap as IntMap import Data.IORef diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Translation.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Translation.hs index 6039acbdb..66361649d 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Translation.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Translation.hs @@ -93,7 +93,7 @@ module Lang.Crucible.LLVM.Translation ) where import Control.Lens hiding (op, (:>) ) -import Control.Monad.Except +import Control.Monad (foldM) import Data.IORef (IORef, newIORef, readIORef, modifyIORef) import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Instruction.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Instruction.hs index 7c072b12a..aedd9f61e 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Instruction.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Instruction.hs @@ -39,10 +39,13 @@ module Lang.Crucible.LLVM.Translation.Instruction import Prelude hiding (exp, pred) import Control.Lens hiding (op, (:>) ) -import Control.Monad.Except -import Control.Monad.State.Strict +import Control.Monad (MonadPlus(..), forM, unless) +import Control.Monad.Except (MonadError(..), runExceptT) +import Control.Monad.State.Strict (MonadState(..)) +import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Monad.Trans.Maybe import Data.Foldable (for_, toList) +import Data.Functor (void) import Data.Int import qualified Data.List as List import Data.List.NonEmpty (NonEmpty((:|))) diff --git a/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Monad.hs b/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Monad.hs index 0e8127032..9b5ebe1b5 100644 --- a/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Monad.hs +++ b/crucible-llvm/src/Lang/Crucible/LLVM/Translation/Monad.hs @@ -49,7 +49,9 @@ module Lang.Crucible.LLVM.Translation.Monad ) where import Control.Lens hiding (op, (:>), to, from ) -import Control.Monad.State.Strict +import Control.Monad (unless) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.State.Strict (MonadState(..)) import Data.IORef (IORef, modifyIORef) import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map diff --git a/crucible-mir/crucible-mir.cabal b/crucible-mir/crucible-mir.cabal index 338a500ed..c5846ce1d 100644 --- a/crucible-mir/crucible-mir.cabal +++ b/crucible-mir/crucible-mir.cabal @@ -20,7 +20,7 @@ extra-source-files: README.md library default-language: Haskell2010 build-depends: base >= 4.11 && < 5, - aeson < 2.2, + aeson < 2.3, bv-sized, bytestring, prettyprinter >= 1.7.0, diff --git a/crucible-symio/crucible-symio.cabal b/crucible-symio/crucible-symio.cabal index 5f0cb7ad6..e992d521c 100644 --- a/crucible-symio/crucible-symio.cabal +++ b/crucible-symio/crucible-symio.cabal @@ -14,7 +14,7 @@ build-type: Simple extra-source-files: CHANGELOG.md common shared - build-depends: base >=4.12 && <4.18, + build-depends: base >=4.12 && <4.19, aeson, bv-sized, bytestring, @@ -56,7 +56,7 @@ test-suite crucible-symio-tests main-is: TestMain.hs hs-source-dirs: tests, src ghc-options: -Wall -Wcompat - build-depends: base >=4.12 && <4.18, + build-depends: base >=4.12 && <4.19, what4, crucible, crucible-symio, diff --git a/crucible-syntax/crucible-syntax.cabal b/crucible-syntax/crucible-syntax.cabal index ca6b72c98..56e7399dd 100644 --- a/crucible-syntax/crucible-syntax.cabal +++ b/crucible-syntax/crucible-syntax.cabal @@ -46,7 +46,7 @@ library executable crucibler build-depends: - base >= 4.9 && < 4.18, + base >= 4.9 && < 4.19, crucible-syntax, optparse-applicative, text, diff --git a/crucible-syntax/src/Lang/Crucible/Syntax/Concrete.hs b/crucible-syntax/src/Lang/Crucible/Syntax/Concrete.hs index 20eedde57..d21626813 100644 --- a/crucible-syntax/src/Lang/Crucible/Syntax/Concrete.hs +++ b/crucible-syntax/src/Lang/Crucible/Syntax/Concrete.hs @@ -52,15 +52,15 @@ import Prelude hiding (fail) import Control.Lens hiding (cons, backwards) import Control.Applicative -import Control.Monad.Identity hiding (fail) -import Control.Monad.Reader -import Control.Monad.Trans.Except -import Control.Monad.State.Class -import Control.Monad.State.Strict -import Control.Monad.Except hiding (fail) -import Control.Monad.Error.Class () -import Control.Monad.Writer.Strict hiding ((<>)) -import Control.Monad.Writer.Class () +import Control.Monad (MonadPlus(..), forM, join) +import Control.Monad.Error.Class (MonadError(..)) +import Control.Monad.Identity () +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Reader (MonadReader, ReaderT(..)) +import Control.Monad.State.Strict (MonadState(..), StateT(..)) +import Control.Monad.Trans.Class (MonadTrans(..)) +import Control.Monad.Trans.Except (ExceptT(..)) +import Control.Monad.Writer.Strict (MonadWriter(..), WriterT(..)) import Lang.Crucible.Types diff --git a/crucible-syntax/src/Lang/Crucible/Syntax/ExprParse.hs b/crucible-syntax/src/Lang/Crucible/Syntax/ExprParse.hs index 470391d4a..e33028c12 100644 --- a/crucible-syntax/src/Lang/Crucible/Syntax/ExprParse.hs +++ b/crucible-syntax/src/Lang/Crucible/Syntax/ExprParse.hs @@ -66,10 +66,13 @@ module Lang.Crucible.Syntax.ExprParse import Control.Applicative import Control.Lens hiding (List, cons, backwards) -import Control.Monad.Reader +import Control.Monad (MonadPlus(..), ap) +import Control.Monad.IO.Class (MonadIO) +import Control.Monad.Reader (MonadReader(..), ReaderT(..)) import qualified Control.Monad.State.Strict as Strict import qualified Control.Monad.State.Lazy as Lazy import Control.Monad.State.Class +import Control.Monad.Trans.Class (MonadTrans(..)) import qualified Control.Monad.Writer.Strict as Strict import qualified Control.Monad.Writer.Lazy as Lazy import Control.Monad.Writer.Class diff --git a/crucible/crucible.cabal b/crucible/crucible.cabal index 2ffbbc497..8e0201d24 100644 --- a/crucible/crucible.cabal +++ b/crucible/crucible.cabal @@ -39,7 +39,7 @@ common bldflags library import: bldflags build-depends: - base >= 4.13 && < 4.18, + base >= 4.13 && < 4.19, bimap, bv-sized >= 1.0.0 && < 1.1, containers >= 0.5.9.0, @@ -55,7 +55,7 @@ library template-haskell, text, time >= 1.8 && < 2.0, - th-abstraction >=0.1 && <0.5, + th-abstraction >=0.1 && <0.6, transformers, unordered-containers, vector, diff --git a/crucible/src/Lang/Crucible/CFG/Generator.hs b/crucible/src/Lang/Crucible/CFG/Generator.hs index 5f8c54d2d..37e36f10c 100644 --- a/crucible/src/Lang/Crucible/CFG/Generator.hs +++ b/crucible/src/Lang/Crucible/CFG/Generator.hs @@ -110,8 +110,11 @@ module Lang.Crucible.CFG.Generator ) where import Control.Lens hiding (Index) +import Control.Monad ((>=>)) import qualified Control.Monad.Fail as F -import Control.Monad.State.Strict +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.State.Strict () +import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Monad.Catch import qualified Data.Foldable as Fold import Data.Kind diff --git a/crucible/src/Lang/Crucible/Simulator/EvalStmt.hs b/crucible/src/Lang/Crucible/Simulator/EvalStmt.hs index a532776cf..c3cb1dd10 100644 --- a/crucible/src/Lang/Crucible/Simulator/EvalStmt.hs +++ b/crucible/src/Lang/Crucible/Simulator/EvalStmt.hs @@ -46,7 +46,9 @@ module Lang.Crucible.Simulator.EvalStmt import qualified Control.Exception as Ex import Control.Lens -import Control.Monad.Reader +import Control.Monad (foldM, when) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Reader (ReaderT(..), withReaderT) import Data.Maybe (fromMaybe) import qualified Data.Parameterized.Context as Ctx import Data.Parameterized.TraversableFC diff --git a/crucible/src/Lang/Crucible/Simulator/Operations.hs b/crucible/src/Lang/Crucible/Simulator/Operations.hs index 9d60999cb..cb53ab6b9 100644 --- a/crucible/src/Lang/Crucible/Simulator/Operations.hs +++ b/crucible/src/Lang/Crucible/Simulator/Operations.hs @@ -77,7 +77,10 @@ import Prelude hiding (pred) import qualified Control.Exception as Ex import Control.Lens -import Control.Monad.Reader +import Control.Monad (when, void) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Reader (ReaderT(..), withReaderT) +import Control.Monad.Trans.Class (MonadTrans(..)) import Data.Maybe (fromMaybe) import Data.List (isPrefixOf) import qualified Data.Parameterized.Context as Ctx diff --git a/crucible/src/Lang/Crucible/Simulator/OverrideSim.hs b/crucible/src/Lang/Crucible/Simulator/OverrideSim.hs index 7cbe9597d..e5bdb9ab5 100644 --- a/crucible/src/Lang/Crucible/Simulator/OverrideSim.hs +++ b/crucible/src/Lang/Crucible/Simulator/OverrideSim.hs @@ -80,9 +80,10 @@ import Control.Exception import Control.Lens import Control.Monad hiding (fail) import qualified Control.Monad.Catch as X -import Control.Monad.Reader hiding (fail) +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Reader (ReaderT(..)) import Control.Monad.ST -import Control.Monad.State.Strict hiding (fail) +import Control.Monad.State.Strict (StateT(..)) import Data.List (foldl') import qualified Data.Parameterized.Context as Ctx import Data.Proxy diff --git a/crucible/src/Lang/Crucible/Simulator/Profiling.hs b/crucible/src/Lang/Crucible/Simulator/Profiling.hs index 14b74a165..98cdbe57c 100644 --- a/crucible/src/Lang/Crucible/Simulator/Profiling.hs +++ b/crucible/src/Lang/Crucible/Simulator/Profiling.hs @@ -48,7 +48,7 @@ module Lang.Crucible.Simulator.Profiling import qualified Control.Exception as Ex import Control.Lens -import Control.Monad.Reader +import Control.Monad ((<=<), when) import Data.Foldable (toList) import Data.Hashable import Data.HashSet (HashSet) diff --git a/crux-llvm/crux-llvm.cabal b/crux-llvm/crux-llvm.cabal index e81ca99da..44354cde5 100644 --- a/crux-llvm/crux-llvm.cabal +++ b/crux-llvm/crux-llvm.cabal @@ -50,7 +50,7 @@ common bldflags -Wincomplete-uni-patterns ghc-prof-options: -O2 default-language: Haskell2010 - build-depends: base >= 4.8 && < 4.18 + build-depends: base >= 4.8 && < 4.19 , bytestring , containers , crucible diff --git a/crux-llvm/src/Crux/LLVM/Simulate.hs b/crux-llvm/src/Crux/LLVM/Simulate.hs index 211a5dedb..9c8774cac 100644 --- a/crux-llvm/src/Crux/LLVM/Simulate.hs +++ b/crux-llvm/src/Crux/LLVM/Simulate.hs @@ -22,7 +22,7 @@ import Data.Maybe ( fromMaybe ) import qualified Data.Parameterized.Map as MapF import qualified Data.Traversable as T import Control.Lens ((&), (%~), (%=), (^.), use, view) -import Control.Monad.State(liftIO) +import Control.Monad.IO.Class (liftIO) import Data.Text as Text (Text, pack) import GHC.Exts ( proxy# ) @@ -175,7 +175,8 @@ simulateLLVMFile llvm_file llvmOpts = , Crux.resultHook = \_sym result -> return result } -setupFileSim :: Crux.Logs msgs +setupFileSim :: forall sym bak t st fs msgs + . Crux.Logs msgs => Log.SupportsCruxLLVMLogMessage msgs => IsSymBackend sym bak => sym ~ WEB.ExprBuilder t st fs @@ -202,7 +203,7 @@ setupFileSim halloc llvm_file llvmOpts bak _maybeOnline = mContents <- T.traverse (SymIO.Loader.loadInitialFiles sym) (symFSRoot llvmOpts) -- We modify the defaults, which are extremely conservative. Unless the -- user directs otherwise, we default to connecting stdin, stdout, and stderr. - let defaultFileContents = SymIO.emptyInitialFileSystemContents + let defaultFileContents = (SymIO.emptyInitialFileSystemContents @sym) { SymIO.useStderr = True , SymIO.useStdout = True , SymIO.concreteFiles = Map.fromList [(SymIO.StdinTarget, mempty)] diff --git a/crux-mir/crux-mir.cabal b/crux-mir/crux-mir.cabal index 3ce861fc2..efabd85b3 100644 --- a/crux-mir/crux-mir.cabal +++ b/crux-mir/crux-mir.cabal @@ -20,7 +20,7 @@ extra-source-files: README.md library default-language: Haskell2010 build-depends: base >= 4.11 && < 5, - aeson < 2.2, + aeson < 2.3, ansi-terminal, bv-sized, bytestring, diff --git a/crux/crux.cabal b/crux/crux.cabal index 28de943b9..c5d9e1e6e 100644 --- a/crux/crux.cabal +++ b/crux/crux.cabal @@ -21,7 +21,7 @@ library build-depends: base >= 4 && < 5, - aeson < 2.2, + aeson < 2.3, async, attoparsec, bv-sized >= 1.0.0, diff --git a/dependencies/golang b/dependencies/golang index 13666dcf9..bc2a2422f 160000 --- a/dependencies/golang +++ b/dependencies/golang @@ -1 +1 @@ -Subproject commit 13666dcf91add1d776bd9099ef9c6a42bda9f7f7 +Subproject commit bc2a2422f937962ed4cd32bb803b3c63de0ffb47 diff --git a/dependencies/llvm-pretty b/dependencies/llvm-pretty index a454fcbe4..94e384842 160000 --- a/dependencies/llvm-pretty +++ b/dependencies/llvm-pretty @@ -1 +1 @@ -Subproject commit a454fcbe4192c07bcced2cf1384686dc7359a4a3 +Subproject commit 94e384842b214ba72446d1694446fb5261ab6ce2 diff --git a/dependencies/llvm-pretty-bc-parser b/dependencies/llvm-pretty-bc-parser index 65be0b0e3..ac9fff49e 160000 --- a/dependencies/llvm-pretty-bc-parser +++ b/dependencies/llvm-pretty-bc-parser @@ -1 +1 @@ -Subproject commit 65be0b0e3898716b1e39659f3d3d49dcc5208d31 +Subproject commit ac9fff49ef1670e58be9ce90075eaa02726f8662 diff --git a/dependencies/what4 b/dependencies/what4 index 2d22d4afa..28744e48e 160000 --- a/dependencies/what4 +++ b/dependencies/what4 @@ -1 +1 @@ -Subproject commit 2d22d4afaf141195bd4a43a9e5498c2b2e7eaa3d +Subproject commit 28744e48e01dc9c35d5aeebb914a9bb425cfe0f1 diff --git a/uc-crux-llvm/uc-crux-llvm.cabal b/uc-crux-llvm/uc-crux-llvm.cabal index dc4d34d05..9e91b8ed6 100644 --- a/uc-crux-llvm/uc-crux-llvm.cabal +++ b/uc-crux-llvm/uc-crux-llvm.cabal @@ -185,7 +185,7 @@ library build-depends: aeson, async, - base >= 4.8 && < 4.18, + base >= 4.8 && < 4.19, bv-sized, bytestring, containers, @@ -217,7 +217,7 @@ executable uc-crux-llvm hs-source-dirs: exe build-depends: - base >= 4.8 && < 4.18, + base >= 4.8 && < 4.19, uc-crux-llvm ghc-options: -threaded From b62ca76daa6653c671ec3cc3e77e457caf34d1af Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Thu, 3 Aug 2023 13:30:27 -0400 Subject: [PATCH 3/4] crucible-mir: Don't use deprecated TypeInType extension As of GHC 8.6, `TypeInType` is simply an alias for `DataKinds` + `PolyKinds`. And as of GHC 9.6, `TypeInType` is deprecated. Since we are already using `DataKinds` + `PolyKinds` in all of the places where we enable `TypeInType` in `crucible-mir`, let's just remove our use of `TypeInType` to avoid deprecation warnings. --- crucible-mir/src/Mir/FancyMuxTree.hs | 1 - crucible-mir/src/Mir/Generator.hs | 1 - crucible-mir/src/Mir/Intrinsics.hs | 1 - crucible-mir/src/Mir/Trans.hs | 1 - 4 files changed, 4 deletions(-) diff --git a/crucible-mir/src/Mir/FancyMuxTree.hs b/crucible-mir/src/Mir/FancyMuxTree.hs index 0757483d8..f57b3681f 100644 --- a/crucible-mir/src/Mir/FancyMuxTree.hs +++ b/crucible-mir/src/Mir/FancyMuxTree.hs @@ -22,7 +22,6 @@ {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE TypeInType #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-} diff --git a/crucible-mir/src/Mir/Generator.hs b/crucible-mir/src/Mir/Generator.hs index dac192be8..6fb25f626 100644 --- a/crucible-mir/src/Mir/Generator.hs +++ b/crucible-mir/src/Mir/Generator.hs @@ -16,7 +16,6 @@ {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE TypeInType #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} diff --git a/crucible-mir/src/Mir/Intrinsics.hs b/crucible-mir/src/Mir/Intrinsics.hs index a84df628c..5cbaea065 100644 --- a/crucible-mir/src/Mir/Intrinsics.hs +++ b/crucible-mir/src/Mir/Intrinsics.hs @@ -19,7 +19,6 @@ {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE TypeInType #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-} diff --git a/crucible-mir/src/Mir/Trans.hs b/crucible-mir/src/Mir/Trans.hs index 52fd5661e..14286f3ca 100644 --- a/crucible-mir/src/Mir/Trans.hs +++ b/crucible-mir/src/Mir/Trans.hs @@ -21,7 +21,6 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TupleSections #-} -{-# LANGUAGE TypeInType #-} {-# LANGUAGE LambdaCase #-} {-# OPTIONS_GHC -Wincomplete-patterns -Wall From 64e0a396e8aa63660d7150b328ea93b35ab3de74 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Thu, 3 Aug 2023 14:16:47 -0400 Subject: [PATCH 4/4] CI: Test GHC 9.2.8, 9.4.5, 9.6.2 --- .github/Dockerfile-crux-llvm | 8 +- .github/Dockerfile-crux-mir | 8 +- .github/workflows/crucible-go-build.yml | 17 +-- .github/workflows/crucible-jvm-build.yml | 17 +-- .github/workflows/crucible-wasm-build.yml | 17 +-- .github/workflows/crux-llvm-build.yml | 25 ++-- .github/workflows/crux-mir-build.yml | 13 +- cabal.GHC-8.10.7.config | 66 +++++----- ...GHC-9.2.7.config => cabal.GHC-9.2.8.config | 70 +++++----- ...GHC-9.4.4.config => cabal.GHC-9.4.5.config | 80 ++++++------ ...GHC-8.8.4.config => cabal.GHC-9.6.2.config | 121 +++++++++--------- 11 files changed, 238 insertions(+), 204 deletions(-) rename cabal.GHC-9.2.7.config => cabal.GHC-9.2.8.config (86%) rename cabal.GHC-9.4.4.config => cabal.GHC-9.4.5.config (84%) rename cabal.GHC-8.8.4.config => cabal.GHC-9.6.2.config (79%) diff --git a/.github/Dockerfile-crux-llvm b/.github/Dockerfile-crux-llvm index 80afeed8b..5a7db4044 100644 --- a/.github/Dockerfile-crux-llvm +++ b/.github/Dockerfile-crux-llvm @@ -26,9 +26,9 @@ RUN mkdir -p /root/ghcup-download/bin && \ chmod +x /root/ghcup-download/bin/ghcup RUN mkdir -p /root/.ghcup && \ ghcup --version && \ - ghcup install cabal 3.6.2.0 && \ - ghcup install ghc 8.8.4 && \ - ghcup set ghc 8.8.4 + ghcup install cabal 3.10.1.0 && \ + ghcup install ghc 9.2.8 && \ + ghcup set ghc 9.2.8 RUN cabal v2-update ARG DIR=/crux-llvm @@ -41,7 +41,7 @@ ADD crux ${DIR}/build/crux ADD crux-llvm ${DIR}/build/crux-llvm ADD dependencies ${DIR}/build/dependencies ADD .github/cabal.project.crux-llvm ${DIR}/build/cabal.project -ADD cabal.GHC-8.8.4.config ${DIR}/build/cabal.project.freeze +ADD cabal.GHC-9.2.8.config ${DIR}/build/cabal.project.freeze # Workaround until we have an LLVM 12 build available RUN cp $DIR/build/crux-llvm/c-src/libcxx-7.1.0.bc $DIR/build/crux-llvm/c-src/libcxx-12.0.1.bc diff --git a/.github/Dockerfile-crux-mir b/.github/Dockerfile-crux-mir index 4b3fbdd91..0a6895fce 100644 --- a/.github/Dockerfile-crux-mir +++ b/.github/Dockerfile-crux-mir @@ -42,9 +42,9 @@ RUN mkdir -p /root/ghcup-download/bin && \ chmod +x /root/ghcup-download/bin/ghcup RUN mkdir -p /root/.ghcup && \ ghcup --version && \ - ghcup install cabal 3.6.2.0 && \ - ghcup install ghc 8.8.4 && \ - ghcup set ghc 8.8.4 + ghcup install cabal 3.10.1.0 && \ + ghcup install ghc 9.2.8 && \ + ghcup set ghc 9.2.8 RUN cabal v2-update ARG DIR=/crux-mir @@ -57,7 +57,7 @@ ADD crux ${DIR}/build/crux ADD crux-mir ${DIR}/build/crux-mir ADD dependencies ${DIR}/build/dependencies ADD .github/cabal.project.crux-mir ${DIR}/build/cabal.project -ADD cabal.GHC-8.8.4.config ${DIR}/build/cabal.project.freeze +ADD cabal.GHC-9.2.8.config ${DIR}/build/cabal.project.freeze WORKDIR ${DIR}/build RUN cabal v2-build --only-dependencies crux-mir diff --git a/.github/workflows/crucible-go-build.yml b/.github/workflows/crucible-go-build.yml index 08ed4a08b..7e7263d4a 100644 --- a/.github/workflows/crucible-go-build.yml +++ b/.github/workflows/crucible-go-build.yml @@ -27,15 +27,15 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - cabal: ["3.8.1.0"] - ghc: ["8.10.7", "9.2.7", "9.4.4"] + cabal: ["3.10.1.0"] + ghc: ["9.2.8", "9.4.5", "9.6.2"] include: - os: macos-12 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 - os: windows-2019 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 name: crucible-go - GHC v${{ matrix.ghc }} - ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -86,8 +86,9 @@ jobs: run: | GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g) case ${{ matrix.ghc }} in - 9.2.7) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; - 9.4.4) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; + 9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; *) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;; esac echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV diff --git a/.github/workflows/crucible-jvm-build.yml b/.github/workflows/crucible-jvm-build.yml index d8103b4b3..30a2704cf 100644 --- a/.github/workflows/crucible-jvm-build.yml +++ b/.github/workflows/crucible-jvm-build.yml @@ -27,15 +27,15 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - cabal: ["3.8.1.0"] - ghc: ["8.10.7", "9.2.7", "9.4.4"] + cabal: ["3.10.1.0"] + ghc: ["9.2.8", "9.4.5", "9.6.2"] include: - os: macos-12 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 - os: windows-2019 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 name: crucible-jvm - GHC v${{ matrix.ghc }} - ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -86,8 +86,9 @@ jobs: run: | GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g) case ${{ matrix.ghc }} in - 9.2.7) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; - 9.4.4) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; + 9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; *) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;; esac echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV diff --git a/.github/workflows/crucible-wasm-build.yml b/.github/workflows/crucible-wasm-build.yml index 09df60f25..fbcf05a21 100644 --- a/.github/workflows/crucible-wasm-build.yml +++ b/.github/workflows/crucible-wasm-build.yml @@ -27,15 +27,15 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - cabal: ["3.8.1.0"] - ghc: ["8.10.7", "9.2.7", "9.4.4"] + cabal: ["3.10.1.0"] + ghc: ["9.2.8", "9.4.5", "9.6.2"] include: - os: macos-12 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 - os: windows-2019 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 name: crucible-wasm - GHC v${{ matrix.ghc }} - ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -86,8 +86,9 @@ jobs: run: | GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g) case ${{ matrix.ghc }} in - 9.2.7) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; - 9.4.4) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; + 9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; *) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;; esac echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV diff --git a/.github/workflows/crux-llvm-build.yml b/.github/workflows/crux-llvm-build.yml index 81970538b..3a22fd5cd 100644 --- a/.github/workflows/crux-llvm-build.yml +++ b/.github/workflows/crux-llvm-build.yml @@ -64,21 +64,21 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - cabal: ["3.8.1.0"] - ghc: ["8.10.7", "9.2.7", "9.4.4"] + cabal: ["3.10.1.0"] + ghc: ["9.2.8", "9.4.5", "9.6.2"] include: - os: ubuntu-22.04 - cabal: 3.8.1.0 - ghc: 8.8.4 + cabal: 3.10.1.0 + ghc: 8.10.7 - os: ubuntu-20.04 - cabal: 3.8.1.0 - ghc: 9.4.4 + cabal: 3.10.1.0 + ghc: 9.6.2 - os: macos-12 - cabal: 3.8.1.0 - ghc: 9.2.7 + cabal: 3.10.1.0 + ghc: 9.2.8 - os: windows-2019 - cabal: 3.8.1.0 - ghc: 9.2.7 + cabal: 3.10.1.0 + ghc: 9.2.8 name: crux-llvm - GHC v${{ matrix.ghc }} - ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -129,8 +129,9 @@ jobs: run: | GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g) case ${{ matrix.ghc }} in - 9.2.7) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; - 9.4.4) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; + 9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; *) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;; esac echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV diff --git a/.github/workflows/crux-mir-build.yml b/.github/workflows/crux-mir-build.yml index f32751b49..235b1c8ab 100644 --- a/.github/workflows/crux-mir-build.yml +++ b/.github/workflows/crux-mir-build.yml @@ -64,12 +64,12 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - cabal: ["3.8.1.0"] - ghc: ["8.10.7", "9.2.7", "9.4.4"] + cabal: ["3.10.1.0"] + ghc: ["9.2.8", "9.4.5", "9.6.2"] include: - os: macos-12 - cabal: 3.8.1.0 - ghc: 9.2.7 + cabal: 3.10.1.0 + ghc: 9.2.8 # We want Windows soon, but it doesn't need to be now name: crux-mir - GHC v${{ matrix.ghc }} - ${{ matrix.os }} @@ -129,8 +129,9 @@ jobs: run: | GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g) case ${{ matrix.ghc }} in - 9.2.7) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; - 9.4.4) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-unstable ;; + 9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; + 9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;; *) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;; esac echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV diff --git a/cabal.GHC-8.10.7.config b/cabal.GHC-8.10.7.config index 96c47ea08..c37b495db 100644 --- a/cabal.GHC-8.10.7.config +++ b/cabal.GHC-8.10.7.config @@ -3,9 +3,9 @@ constraints: any.BoundedChan ==1.0.3.0, any.Cabal ==3.2.1.0, any.Glob ==0.10.2, any.HUnit ==1.6.2.0, - any.IntervalMap ==0.6.2.0, + any.IntervalMap ==0.6.2.1, any.OneTuple ==0.4.1.1, - any.QuickCheck ==2.14.2, + any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.SHA ==1.6.4.4, SHA -exe, @@ -13,12 +13,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.adjunctions ==4.4.2, any.aeson ==2.1.2.1, aeson -cffi +ordered-keymap, - any.alex ==3.2.7.4, - any.ansi-terminal ==0.11.5, + any.alex ==3.2.7.4 || ==3.4.0.0, + any.ansi-terminal ==1.0, ansi-terminal -example, any.ansi-terminal-types ==0.11.5, - any.ansi-wl-pprint ==0.6.9, - ansi-wl-pprint -example, any.array ==0.5.4.0, any.assoc ==1.1, assoc +tagged, @@ -32,7 +30,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.base ==4.14.3.0, any.base-compat ==0.13.0, any.base-compat-batteries ==0.13.0, - any.base-orphans ==0.8.8.2, + any.base-orphans ==0.9.0, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, any.bifunctors ==5.6.1, @@ -43,7 +41,7 @@ constraints: any.BoundedChan ==1.0.3.0, bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, - any.boomerang ==1.4.8.1, + any.boomerang ==1.4.9, any.bv-sized ==1.0.5, any.bytestring ==0.10.12.0, any.bytestring-builder ==0.10.8.2.0, @@ -58,8 +56,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.concurrent-output ==1.10.17, - any.conduit ==1.3.4.3, + any.concurrent-output ==1.10.18, + any.conduit ==1.3.5, any.config-schema ==1.3.0.0, any.config-value ==0.8.3, any.constraints ==0.13.4, @@ -88,7 +86,7 @@ constraints: any.BoundedChan ==1.0.3.0, entropy -donotgetentropy, any.erf ==2.0.0.0, any.exceptions ==0.10.4, - any.extra ==1.7.13, + any.extra ==1.7.14, any.fgl ==5.8.1.1, fgl +containers042, any.fgl-visualize ==0.1.0.1, @@ -113,16 +111,18 @@ constraints: any.BoundedChan ==1.0.3.0, hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, any.haskeline ==0.8.2, any.haskell-lexer ==1.1.1, - any.hedgehog ==1.2, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.12, + any.hedgehog ==1.3, any.hsc2hs ==0.68.9, hsc2hs -in-ghc-tree, - any.hspec ==2.11.0.1, - any.hspec-api ==2.11.0.1, - any.hspec-core ==2.11.0.1, - any.hspec-discover ==2.11.0.1, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.3, + any.hspec-api ==2.11.3, + any.hspec-core ==2.11.3, + any.hspec-discover ==2.11.3, + any.hspec-expectations ==0.8.3, any.ieee754 ==0.8.0, - any.indexed-profunctors ==0.1.1, + any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.2.1, any.indexed-traversable-instances ==0.1.1.2, any.integer-gmp ==1.0.3.0, @@ -147,7 +147,7 @@ constraints: any.BoundedChan ==1.0.3.0, llvm-pretty-bc-parser -fuzz -regressions, any.logict ==0.8.1.0, any.lucid ==2.11.20230408, - any.lumberjack ==1.0.2.0, + any.lumberjack ==1.0.3.0, any.megaparsec ==9.2.1, megaparsec -dev, any.microlens ==0.4.13.1, @@ -157,14 +157,14 @@ constraints: any.BoundedChan ==1.0.3.0, any.monadLib ==3.10.1, any.mono-traversable ==1.0.15.3, any.mtl ==2.2.2, - any.network ==3.1.2.9, + any.network ==3.1.4.0, network -devel, - any.optparse-applicative ==0.17.0.0, + any.optparse-applicative ==0.18.1.0, optparse-applicative +process, any.ordered-containers ==0.2.3, any.panic ==0.4.0.1, any.parallel ==3.2.2.0, - any.parameterized-utils ==2.1.6.0, + any.parameterized-utils ==2.1.7.0, parameterized-utils +unsafe-operations, any.parsec ==3.1.14.0, any.parser-combinators ==1.3.0, @@ -191,7 +191,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.rts ==1.0.1, any.s-cargot ==0.1.6.0, s-cargot -build-example, - any.safe-exceptions ==0.1.7.3, + any.safe ==0.3.19, + any.safe-exceptions ==0.1.7.4, any.scheduler ==2.0.0.1, any.scientific ==0.3.7.0, scientific -bytestring-builder -integer-simple, @@ -202,7 +203,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.semigroups ==0.20, semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, any.simple-get-opt ==0.4, - any.smallcheck ==1.2.1, + any.smallcheck ==1.2.1.1, any.split ==0.2.3.5, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, @@ -210,6 +211,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, any.strict ==0.5, + any.string-interpolate ==0.3.2.1, + string-interpolate -bytestring-builder -extended-benchmarks -text-builder, any.syb ==0.7.2.3, any.tagged ==0.8.7, tagged +deepseq +transformers, @@ -224,18 +227,23 @@ constraints: any.BoundedChan ==1.0.3.0, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, any.tasty-smallcheck ==0.8.2, - any.tasty-sugar ==2.2.0.0, + any.tasty-sugar ==2.2.1.0, any.template-haskell ==2.16.0.0, any.temporary ==1.3, any.terminal-size ==0.3.3, any.terminfo ==0.4.1.4, any.text ==1.2.4.1, + any.text-conversions ==0.3.1.1, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.5.0, + any.th-abstraction ==0.5.0.0, + any.th-compat ==0.1.4, + any.th-expand-syns ==0.4.11.0, any.th-lift ==0.8.3, any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.14, + any.th-reify-many ==0.1.10, any.these ==1.2, any.time ==1.9.3, any.time-compat ==1.9.6.1, @@ -252,7 +260,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.unix ==2.7.2.2, any.unix-compat ==0.7, unix-compat -old-time, - any.unliftio ==0.2.24.0, + any.unliftio ==0.2.25.0, any.unliftio-core ==0.2.1.0, any.unordered-containers ==0.2.19.1, unordered-containers -debug, @@ -272,10 +280,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.witherable ==0.4.2, any.wl-pprint-annotated ==0.1.0.1, any.xml ==1.3.14, - any.yaml ==0.11.11.0, + any.yaml ==0.11.11.2, yaml +no-examples +no-exe, any.zenc ==0.1.2, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2023-05-04T14:11:59Z +index-state: hackage.haskell.org 2023-08-03T16:21:02Z diff --git a/cabal.GHC-9.2.7.config b/cabal.GHC-9.2.8.config similarity index 86% rename from cabal.GHC-9.2.7.config rename to cabal.GHC-9.2.8.config index dd2b304c6..06015562d 100644 --- a/cabal.GHC-9.2.7.config +++ b/cabal.GHC-9.2.8.config @@ -3,9 +3,9 @@ constraints: any.BoundedChan ==1.0.3.0, any.Cabal ==3.6.3.0, any.Glob ==0.10.2, any.HUnit ==1.6.2.0, - any.IntervalMap ==0.6.2.0, + any.IntervalMap ==0.6.2.1, any.OneTuple ==0.4.1.1, - any.QuickCheck ==2.14.2, + any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.SHA ==1.6.4.4, SHA -exe, @@ -13,12 +13,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.adjunctions ==4.4.2, any.aeson ==2.1.2.1, aeson -cffi +ordered-keymap, - any.alex ==3.2.7.4, - any.ansi-terminal ==0.11.5, + any.alex ==3.2.7.4 || ==3.4.0.0, + any.ansi-terminal ==1.0, ansi-terminal -example, any.ansi-terminal-types ==0.11.5, - any.ansi-wl-pprint ==0.6.9, - ansi-wl-pprint -example, any.array ==0.5.4.0, any.assoc ==1.1, assoc +tagged, @@ -32,7 +30,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.base ==4.16.4.0, any.base-compat ==0.13.0, any.base-compat-batteries ==0.13.0, - any.base-orphans ==0.8.8.2, + any.base-orphans ==0.9.0, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, any.bifunctors ==5.6.1, @@ -43,7 +41,7 @@ constraints: any.BoundedChan ==1.0.3.0, bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, - any.boomerang ==1.4.8.1, + any.boomerang ==1.4.9, any.bv-sized ==1.0.5, any.bytestring ==0.11.4.0, any.bytestring-builder ==0.10.8.2.0, @@ -58,8 +56,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.concurrent-output ==1.10.17, - any.conduit ==1.3.4.3, + any.concurrent-output ==1.10.18, + any.conduit ==1.3.5, any.config-schema ==1.3.0.0, any.config-value ==0.8.3, any.constraints ==0.13.4, @@ -88,7 +86,7 @@ constraints: any.BoundedChan ==1.0.3.0, entropy -donotgetentropy, any.erf ==2.0.0.0, any.exceptions ==0.10.4, - any.extra ==1.7.13, + any.extra ==1.7.14, any.fgl ==5.8.1.1, fgl +containers042, any.fgl-visualize ==0.1.0.1, @@ -104,7 +102,7 @@ constraints: any.BoundedChan ==1.0.3.0, generic-random -enable-inspect, any.generically ==0.1.1, any.ghc-bignum ==1.2, - any.ghc-boot-th ==9.2.7, + any.ghc-boot-th ==9.2.8, any.ghc-prim ==0.8.0, any.gitrev ==1.3.1, any.happy ==1.20.1.1, @@ -114,16 +112,18 @@ constraints: any.BoundedChan ==1.0.3.0, hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, any.haskeline ==0.8.2, any.haskell-lexer ==1.1.1, - any.hedgehog ==1.2, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.12, + any.hedgehog ==1.3, any.hsc2hs ==0.68.9, hsc2hs -in-ghc-tree, - any.hspec ==2.11.0.1, - any.hspec-api ==2.11.0.1, - any.hspec-core ==2.11.0.1, - any.hspec-discover ==2.11.0.1, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.3, + any.hspec-api ==2.11.3, + any.hspec-core ==2.11.3, + any.hspec-discover ==2.11.3, + any.hspec-expectations ==0.8.3, any.ieee754 ==0.8.0, - any.indexed-profunctors ==0.1.1, + any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.2.1, any.indexed-traversable-instances ==0.1.1.2, any.integer-logarithms ==1.0.3.1, @@ -147,8 +147,8 @@ constraints: any.BoundedChan ==1.0.3.0, llvm-pretty-bc-parser -fuzz -regressions, any.logict ==0.8.1.0, any.lucid ==2.11.20230408, - any.lumberjack ==1.0.2.0, - any.megaparsec ==9.3.0, + any.lumberjack ==1.0.3.0, + any.megaparsec ==9.3.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-th ==0.4.3.13, @@ -157,14 +157,14 @@ constraints: any.BoundedChan ==1.0.3.0, any.monadLib ==3.10.1, any.mono-traversable ==1.0.15.3, any.mtl ==2.2.2, - any.network ==3.1.2.9, + any.network ==3.1.4.0, network -devel, - any.optparse-applicative ==0.17.0.0, + any.optparse-applicative ==0.18.1.0, optparse-applicative +process, any.ordered-containers ==0.2.3, any.panic ==0.4.0.1, any.parallel ==3.2.2.0, - any.parameterized-utils ==2.1.6.0, + any.parameterized-utils ==2.1.7.0, parameterized-utils +unsafe-operations, any.parsec ==3.1.15.0, any.parser-combinators ==1.3.0, @@ -191,7 +191,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.rts ==1.0.2, any.s-cargot ==0.1.6.0, s-cargot -build-example, - any.safe-exceptions ==0.1.7.3, + any.safe ==0.3.19, + any.safe-exceptions ==0.1.7.4, any.scheduler ==2.0.0.1, any.scientific ==0.3.7.0, scientific -bytestring-builder -integer-simple, @@ -202,7 +203,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.semigroups ==0.20, semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, any.simple-get-opt ==0.4, - any.smallcheck ==1.2.1, + any.smallcheck ==1.2.1.1, any.split ==0.2.3.5, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, @@ -210,6 +211,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, any.strict ==0.5, + any.string-interpolate ==0.3.2.1, + string-interpolate -bytestring-builder -extended-benchmarks -text-builder, any.syb ==0.7.2.3, any.tagged ==0.8.7, tagged +deepseq +transformers, @@ -224,18 +227,23 @@ constraints: any.BoundedChan ==1.0.3.0, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, any.tasty-smallcheck ==0.8.2, - any.tasty-sugar ==2.2.0.0, + any.tasty-sugar ==2.2.1.0, any.template-haskell ==2.18.0.0, any.temporary ==1.3, any.terminal-size ==0.3.3, any.terminfo ==0.4.1.5, any.text ==1.2.5.0, + any.text-conversions ==0.3.1.1, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.5.0, + any.th-abstraction ==0.5.0.0, + any.th-compat ==0.1.4, + any.th-expand-syns ==0.4.11.0, any.th-lift ==0.8.3, any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.14, + any.th-reify-many ==0.1.10, any.these ==1.2, any.time ==1.11.1.1, any.time-compat ==1.9.6.1, @@ -252,7 +260,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.unix ==2.7.2.2, any.unix-compat ==0.7, unix-compat -old-time, - any.unliftio ==0.2.24.0, + any.unliftio ==0.2.25.0, any.unliftio-core ==0.2.1.0, any.unordered-containers ==0.2.19.1, unordered-containers -debug, @@ -272,10 +280,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.witherable ==0.4.2, any.wl-pprint-annotated ==0.1.0.1, any.xml ==1.3.14, - any.yaml ==0.11.11.0, + any.yaml ==0.11.11.2, yaml +no-examples +no-exe, any.zenc ==0.1.2, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2023-05-04T14:11:59Z +index-state: hackage.haskell.org 2023-08-03T16:21:02Z diff --git a/cabal.GHC-9.4.4.config b/cabal.GHC-9.4.5.config similarity index 84% rename from cabal.GHC-9.4.4.config rename to cabal.GHC-9.4.5.config index 3e0bb7b23..9c77487b7 100644 --- a/cabal.GHC-9.4.4.config +++ b/cabal.GHC-9.4.5.config @@ -4,9 +4,9 @@ constraints: any.BoundedChan ==1.0.3.0, any.Cabal-syntax ==3.8.1.0, any.Glob ==0.10.2, any.HUnit ==1.6.2.0, - any.IntervalMap ==0.6.2.0, + any.IntervalMap ==0.6.2.1, any.OneTuple ==0.4.1.1, - any.QuickCheck ==2.14.2, + any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.SHA ==1.6.4.4, SHA -exe, @@ -14,12 +14,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.adjunctions ==4.4.2, any.aeson ==2.1.2.1, aeson -cffi +ordered-keymap, - any.alex ==3.2.7.4, - any.ansi-terminal ==0.11.5, + any.alex ==3.2.7.4 || ==3.4.0.0, + any.ansi-terminal ==1.0, ansi-terminal -example, any.ansi-terminal-types ==0.11.5, - any.ansi-wl-pprint ==0.6.9, - ansi-wl-pprint -example, any.array ==0.5.4.0, any.assoc ==1.1, assoc +tagged, @@ -30,10 +28,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.attoparsec ==0.14.4, attoparsec -developer, any.barbies ==2.0.4.0, - any.base ==4.17.0.0, + any.base ==4.17.1.0, any.base-compat ==0.13.0, any.base-compat-batteries ==0.13.0, - any.base-orphans ==0.8.8.2, + any.base-orphans ==0.9.0, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, any.bifunctors ==5.6.1, @@ -44,9 +42,9 @@ constraints: any.BoundedChan ==1.0.3.0, bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, - any.boomerang ==1.4.8.1, + any.boomerang ==1.4.9, any.bv-sized ==1.0.5, - any.bytestring ==0.11.3.1, + any.bytestring ==0.11.4.0, any.bytestring-builder ==0.10.8.2.0, bytestring-builder +bytestring_has_builder, any.call-stack ==0.4.0, @@ -59,12 +57,12 @@ constraints: any.BoundedChan ==1.0.3.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.concurrent-output ==1.10.17, - any.conduit ==1.3.4.3, + any.concurrent-output ==1.10.18, + any.conduit ==1.3.5, any.config-schema ==1.3.0.0, any.config-value ==0.8.3, any.constraints ==0.13.4, - any.containers ==0.6.6, + any.containers ==0.6.7, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, crucible +unsafe-operations, @@ -88,7 +86,7 @@ constraints: any.BoundedChan ==1.0.3.0, entropy -donotgetentropy, any.erf ==2.0.0.0, any.exceptions ==0.10.5, - any.extra ==1.7.13, + any.extra ==1.7.14, any.fgl ==5.8.1.1, fgl +containers042, any.fgl-visualize ==0.1.0.1, @@ -104,7 +102,7 @@ constraints: any.BoundedChan ==1.0.3.0, generic-random -enable-inspect, any.generically ==0.1.1, any.ghc-bignum ==1.3, - any.ghc-boot-th ==9.4.4, + any.ghc-boot-th ==9.4.5, any.ghc-prim ==0.9.0, any.gitrev ==1.3.1, any.happy ==1.20.1.1, @@ -114,16 +112,18 @@ constraints: any.BoundedChan ==1.0.3.0, hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, any.haskeline ==0.8.2, any.haskell-lexer ==1.1.1, - any.hedgehog ==1.2, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.12, + any.hedgehog ==1.3, any.hsc2hs ==0.68.9, hsc2hs -in-ghc-tree, - any.hspec ==2.11.0.1, - any.hspec-api ==2.11.0.1, - any.hspec-core ==2.11.0.1, - any.hspec-discover ==2.11.0.1, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.3, + any.hspec-api ==2.11.3, + any.hspec-core ==2.11.3, + any.hspec-discover ==2.11.3, + any.hspec-expectations ==0.8.3, any.ieee754 ==0.8.0, - any.indexed-profunctors ==0.1.1, + any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.2.1, any.indexed-traversable-instances ==0.1.1.2, any.integer-logarithms ==1.0.3.1, @@ -147,8 +147,8 @@ constraints: any.BoundedChan ==1.0.3.0, llvm-pretty-bc-parser -fuzz -regressions, any.logict ==0.8.1.0, any.lucid ==2.11.20230408, - any.lumberjack ==1.0.2.0, - any.megaparsec ==9.3.0, + any.lumberjack ==1.0.3.0, + any.megaparsec ==9.3.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-th ==0.4.3.13, @@ -157,16 +157,16 @@ constraints: any.BoundedChan ==1.0.3.0, any.monadLib ==3.10.1, any.mono-traversable ==1.0.15.3, any.mtl ==2.2.2, - any.network ==3.1.2.9, + any.network ==3.1.4.0, network -devel, - any.optparse-applicative ==0.17.0.0, + any.optparse-applicative ==0.18.1.0, optparse-applicative +process, any.ordered-containers ==0.2.3, any.panic ==0.4.0.1, any.parallel ==3.2.2.0, - any.parameterized-utils ==2.1.6.0, + any.parameterized-utils ==2.1.7.0, parameterized-utils +unsafe-operations, - any.parsec ==3.1.15.0, + any.parsec ==3.1.16.1, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pretty ==1.1.3.6, @@ -191,7 +191,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.rts ==1.0.2, any.s-cargot ==0.1.6.0, s-cargot -build-example, - any.safe-exceptions ==0.1.7.3, + any.safe ==0.3.19, + any.safe-exceptions ==0.1.7.4, any.scheduler ==2.0.0.1, any.scientific ==0.3.7.0, scientific -bytestring-builder -integer-simple, @@ -202,7 +203,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.semigroups ==0.20, semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, any.simple-get-opt ==0.4, - any.smallcheck ==1.2.1, + any.smallcheck ==1.2.1.1, any.split ==0.2.3.5, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, @@ -210,6 +211,8 @@ constraints: any.BoundedChan ==1.0.3.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, any.strict ==0.5, + any.string-interpolate ==0.3.2.1, + string-interpolate -bytestring-builder -extended-benchmarks -text-builder, any.syb ==0.7.2.3, any.tagged ==0.8.7, tagged +deepseq +transformers, @@ -224,18 +227,23 @@ constraints: any.BoundedChan ==1.0.3.0, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, any.tasty-smallcheck ==0.8.2, - any.tasty-sugar ==2.2.0.0, + any.tasty-sugar ==2.2.1.0, any.template-haskell ==2.19.0.0, any.temporary ==1.3, any.terminal-size ==0.3.3, any.terminfo ==0.4.1.5, - any.text ==2.0.1, + any.text ==2.0.2, + any.text-conversions ==0.3.1.1, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.5.0, + any.th-abstraction ==0.5.0.0, + any.th-compat ==0.1.4, + any.th-expand-syns ==0.4.11.0, any.th-lift ==0.8.3, any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.14, + any.th-reify-many ==0.1.10, any.these ==1.2, any.time ==1.12.2, any.time-compat ==1.9.6.1, @@ -252,7 +260,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.unix ==2.7.3, any.unix-compat ==0.7, unix-compat -old-time, - any.unliftio ==0.2.24.0, + any.unliftio ==0.2.25.0, any.unliftio-core ==0.2.1.0, any.unordered-containers ==0.2.19.1, unordered-containers -debug, @@ -272,10 +280,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.witherable ==0.4.2, any.wl-pprint-annotated ==0.1.0.1, any.xml ==1.3.14, - any.yaml ==0.11.11.0, + any.yaml ==0.11.11.2, yaml +no-examples +no-exe, any.zenc ==0.1.2, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2023-05-04T14:11:59Z +index-state: hackage.haskell.org 2023-08-03T16:21:02Z diff --git a/cabal.GHC-8.8.4.config b/cabal.GHC-9.6.2.config similarity index 79% rename from cabal.GHC-8.8.4.config rename to cabal.GHC-9.6.2.config index 87622f76f..9dee4f4a2 100644 --- a/cabal.GHC-8.8.4.config +++ b/cabal.GHC-9.6.2.config @@ -1,11 +1,12 @@ active-repositories: hackage.haskell.org:merge constraints: any.BoundedChan ==1.0.3.0, - any.Cabal ==3.0.1.0, + any.Cabal ==3.10.1.0, + any.Cabal-syntax ==3.10.1.0, any.Glob ==0.10.2, any.HUnit ==1.6.2.0, - any.IntervalMap ==0.6.2.0, + any.IntervalMap ==0.6.2.1, any.OneTuple ==0.4.1.1, - any.QuickCheck ==2.14.2, + any.QuickCheck ==2.14.3, QuickCheck -old-random +templatehaskell, any.SHA ==1.6.4.4, SHA -exe, @@ -13,13 +14,11 @@ constraints: any.BoundedChan ==1.0.3.0, any.adjunctions ==4.4.2, any.aeson ==2.1.2.1, aeson -cffi +ordered-keymap, - any.alex ==3.2.7.4, - any.ansi-terminal ==0.11.5, + any.alex ==3.2.7.4 || ==3.4.0.0, + any.ansi-terminal ==1.0, ansi-terminal -example, any.ansi-terminal-types ==0.11.5, - any.ansi-wl-pprint ==0.6.9, - ansi-wl-pprint -example, - any.array ==0.5.4.0, + any.array ==0.5.5.0, any.assoc ==1.1, assoc +tagged, any.async ==2.2.4, @@ -29,23 +28,23 @@ constraints: any.BoundedChan ==1.0.3.0, any.attoparsec ==0.14.4, attoparsec -developer, any.barbies ==2.0.4.0, - any.base ==4.13.0.0, + any.base ==4.18.0.0, any.base-compat ==0.13.0, any.base-compat-batteries ==0.13.0, - any.base-orphans ==0.8.8.2, + any.base-orphans ==0.9.0, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, any.bifunctors ==5.6.1, bifunctors +tagged, any.bimap ==0.5.0, - any.binary ==0.8.7.0, + any.binary ==0.8.9.1, any.bitvec ==1.1.4.0, bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, - any.boomerang ==1.4.8.1, + any.boomerang ==1.4.9, any.bv-sized ==1.0.5, - any.bytestring ==0.10.10.1, + any.bytestring ==0.11.4.0, any.bytestring-builder ==0.10.8.2.0, bytestring-builder +bytestring_has_builder, any.call-stack ==0.4.0, @@ -58,26 +57,25 @@ constraints: any.BoundedChan ==1.0.3.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.concurrent-output ==1.10.17, - any.conduit ==1.3.4.3, + any.concurrent-output ==1.10.18, + any.conduit ==1.3.5, any.config-schema ==1.3.0.0, any.config-value ==0.8.3, any.constraints ==0.13.4, - any.containers ==0.6.2.1, + any.containers ==0.6.7, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, crucible +unsafe-operations, any.cryptohash-sha1 ==0.11.101.0, any.cryptohash-sha256 ==0.11.102.1, cryptohash-sha256 -exe +use-cbits, - any.data-array-byte ==0.1.0.1, any.data-binary-ieee754 ==0.4.4, any.data-default-class ==0.1.2.0, any.data-fix ==0.3.2, - any.deepseq ==1.4.4.0, + any.deepseq ==1.4.8.1, any.deriving-compat ==0.6.3, deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, - any.directory ==1.3.6.0, + any.directory ==1.3.8.1, any.distributive ==0.6.2.1, distributive +semigroups +tagged, any.dlist ==1.0, @@ -88,45 +86,44 @@ constraints: any.BoundedChan ==1.0.3.0, entropy -donotgetentropy, any.erf ==2.0.0.0, any.exceptions ==0.10.7, - exceptions +transformers-0-4, - any.extra ==1.7.13, + any.extra ==1.7.14, any.fgl ==5.8.1.1, fgl +containers042, any.fgl-visualize ==0.1.0.1, any.filemanip ==0.3.6.3, - any.filepath ==1.4.2.1, + any.filepath ==1.4.100.1, any.fingertree ==0.1.5.0, - any.foldable1-classes-compat ==0.1, - foldable1-classes-compat +tagged, any.free ==5.2, any.generic-lens ==2.2.2.0, any.generic-lens-core ==2.2.1.0, any.generic-random ==1.5.0.1, generic-random -enable-inspect, any.generically ==0.1.1, - any.ghc-boot-th ==8.8.4, - any.ghc-prim ==0.5.3, + any.ghc-bignum ==1.3, + any.ghc-boot-th ==9.6.2, + any.ghc-prim ==0.10.0, any.gitrev ==1.3.1, any.happy ==1.20.1.1, any.hashable ==1.4.2.0, hashable +integer-gmp -random-initial-seed, any.hashtables ==1.3.1, hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, - any.haskeline ==0.7.5.0, + any.haskeline ==0.8.2.1, any.haskell-lexer ==1.1.1, - any.hedgehog ==1.2, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.12, + any.hedgehog ==1.3, any.hsc2hs ==0.68.9, hsc2hs -in-ghc-tree, - any.hspec ==2.11.0.1, - any.hspec-api ==2.11.0.1, - any.hspec-core ==2.11.0.1, - any.hspec-discover ==2.11.0.1, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.3, + any.hspec-api ==2.11.3, + any.hspec-core ==2.11.3, + any.hspec-discover ==2.11.3, + any.hspec-expectations ==0.8.3, any.ieee754 ==0.8.0, - any.indexed-profunctors ==0.1.1, + any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.2.1, any.indexed-traversable-instances ==0.1.1.2, - any.integer-gmp ==1.0.2.0, any.integer-logarithms ==1.0.3.1, integer-logarithms -check-bounds +integer-gmp, any.invariant ==0.6.1, @@ -148,8 +145,8 @@ constraints: any.BoundedChan ==1.0.3.0, llvm-pretty-bc-parser -fuzz -regressions, any.logict ==0.8.1.0, any.lucid ==2.11.20230408, - any.lumberjack ==1.0.2.0, - any.megaparsec ==9.2.1, + any.lumberjack ==1.0.3.0, + any.megaparsec ==9.3.1, megaparsec -dev, any.microlens ==0.4.13.1, any.microlens-th ==0.4.3.13, @@ -157,17 +154,17 @@ constraints: any.BoundedChan ==1.0.3.0, any.monad-control ==1.0.3.1, any.monadLib ==3.10.1, any.mono-traversable ==1.0.15.3, - any.mtl ==2.2.2, - any.network ==3.1.2.9, + any.mtl ==2.3.1, + any.network ==3.1.4.0, network -devel, - any.optparse-applicative ==0.17.0.0, + any.optparse-applicative ==0.18.1.0, optparse-applicative +process, any.ordered-containers ==0.2.3, any.panic ==0.4.0.1, any.parallel ==3.2.2.0, - any.parameterized-utils ==2.1.6.0, + any.parameterized-utils ==2.1.7.0, parameterized-utils +unsafe-operations, - any.parsec ==3.1.14.0, + any.parsec ==3.1.16.1, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pretty ==1.1.3.6, @@ -176,7 +173,7 @@ constraints: any.BoundedChan ==1.0.3.0, prettyprinter -buildreadme +text, any.prettyprinter-ansi-terminal ==1.1.3, any.primitive ==0.7.4.0, - any.process ==1.6.9.0, + any.process ==1.6.17.0, any.profunctors ==5.6.2, any.pvar ==1.0.0.0, any.quickcheck-io ==0.2.0, @@ -189,10 +186,11 @@ constraints: any.BoundedChan ==1.0.3.0, any.regex-posix ==0.96.0.1, regex-posix -_regex-posix-clib, any.resourcet ==1.3.0, - any.rts ==1.0, + any.rts ==1.0.2, any.s-cargot ==0.1.6.0, s-cargot -build-example, - any.safe-exceptions ==0.1.7.3, + any.safe ==0.3.19, + any.safe-exceptions ==0.1.7.4, any.scheduler ==2.0.0.1, any.scientific ==0.3.7.0, scientific -bytestring-builder -integer-simple, @@ -203,14 +201,16 @@ constraints: any.BoundedChan ==1.0.3.0, any.semigroups ==0.20, semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, any.simple-get-opt ==0.4, - any.smallcheck ==1.2.1, + any.smallcheck ==1.2.1.1, any.split ==0.2.3.5, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, - any.stm ==2.5.0.0, + any.stm ==2.5.1.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, any.strict ==0.5, + any.string-interpolate ==0.3.2.1, + string-interpolate -bytestring-builder -extended-benchmarks -text-builder, any.syb ==0.7.2.3, any.tagged ==0.8.7, tagged +deepseq +transformers, @@ -225,23 +225,28 @@ constraints: any.BoundedChan ==1.0.3.0, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, any.tasty-smallcheck ==0.8.2, - any.tasty-sugar ==2.2.0.0, - any.template-haskell ==2.15.0.0, + any.tasty-sugar ==2.2.1.0, + any.template-haskell ==2.20.0.0, any.temporary ==1.3, any.terminal-size ==0.3.3, - any.terminfo ==0.4.1.4, - any.text ==1.2.4.0, + any.terminfo ==0.4.1.6, + any.text ==2.0.2, + any.text-conversions ==0.3.1.1, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.5.0, + any.th-abstraction ==0.5.0.0, + any.th-compat ==0.1.4, + any.th-expand-syns ==0.4.11.0, any.th-lift ==0.8.3, any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.14, + any.th-reify-many ==0.1.10, any.these ==1.2, - any.time ==1.9.3, + any.time ==1.12.2, any.time-compat ==1.9.6.1, time-compat -old-locale, - any.transformers ==0.5.6.2, + any.transformers ==0.6.1.0, any.transformers-base ==0.4.6, transformers-base +orphaninstances, any.transformers-compat ==0.7.2, @@ -250,10 +255,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.typed-process ==0.2.11.0, any.unbounded-delays ==0.1.1.1, any.uniplate ==1.6.13, - any.unix ==2.7.2.2, + any.unix ==2.8.1.0, any.unix-compat ==0.7, unix-compat -old-time, - any.unliftio ==0.2.24.0, + any.unliftio ==0.2.25.0, any.unliftio-core ==0.2.1.0, any.unordered-containers ==0.2.19.1, unordered-containers -debug, @@ -273,10 +278,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.witherable ==0.4.2, any.wl-pprint-annotated ==0.1.0.1, any.xml ==1.3.14, - any.yaml ==0.11.11.0, + any.yaml ==0.11.11.2, yaml +no-examples +no-exe, any.zenc ==0.1.2, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2023-05-04T14:11:59Z +index-state: hackage.haskell.org 2023-08-03T16:21:02Z