-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support building with GHC 9.6 #235
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This patch contains a variety of fixes needed to build the libraries in the `what4` 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. * `MonadTrans t` now has a quantified `forall m. Monad m => Monad (t m)` superclass in `mtl-2.3.*`. As a result, the `MonadTrans (PartialT sym)` instance must now have an `IsExpr (SymExpr sym)` instance context in order for it to typecheck, as this is the same instance context that `PartialT`'s `Monad` instance has. This is technically a breaking change, so I have noted it in the `what4` changelog. That being said, this change is unlikely to affect many people in practice, considering that the `MonadTrans` instance for `PartialT` is usually used in tandem with the `Monad` instance. * Various upper version bounds on `base` have been lifted to allow building with `base-4.18`. * The `aig` submodule has been bumped to bring in the changes from GaloisInc/aig#15, which allows it to build with GHC 9.6.
Not only is it not used, the version bounds were interfering with GHC 9.6 build plans. Let's just remove it.
RyanGlScott
changed the title
Draft: Support building with GHC 9.6
Support building with GHC 9.6
Jul 28, 2023
kquick
approved these changes
Jul 28, 2023
RyanGlScott
added a commit
to GaloisInc/crucible
that referenced
this pull request
Aug 3, 2023
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`: GaloisInc/golang#9 * `llvm-pretty`: GaloisInc/llvm-pretty#112 * `llvm-pretty-bc-parser`: GaloisInc/llvm-pretty-bc-parser#225 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/language-sally
that referenced
this pull request
Aug 4, 2023
This is a matter of bumping the upper version bounds on `base` and bumping the `what4` submodule to bring in the changes from GaloisInc/what4#235.
RyanGlScott
added a commit
to GaloisInc/language-sally
that referenced
this pull request
Aug 4, 2023
This is a matter of bumping the upper version bounds on `base` and bumping the `what4` submodule to bring in the changes from GaloisInc/what4#235.
RyanGlScott
added a commit
to GaloisInc/asl-translator
that referenced
this pull request
Aug 7, 2023
This patch contains two changes needed to make `asl-translator` compile with GHC 9.6: * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad` and similar modules from `mtl`-related modules. To accommodate this, various imports have been made more explicit. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `crucible`: GaloisInc/crucible#1102 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/asl-translator
that referenced
this pull request
Aug 8, 2023
This patch contains two changes needed to make `asl-translator` compile with GHC 9.6: * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad` and similar modules from `mtl`-related modules. To accommodate this, various imports have been made more explicit. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `crucible`: GaloisInc/crucible#1102 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/semmc
that referenced
this pull request
Aug 8, 2023
This patch contains a handful of small tweaks needed to make the libraries in the `semmc` repo build with GHC 9.6: * I have disambiguated a use of `Data.Parameterized.NatRepr.withKnownNat` in `semmc-aarch32` to avoid clashing with a newly exported function of the same name in `GHC.TypeNats`. * I have bumped `semmc`'s upper version bounds on `mtl` and `transformers` to allow building with `mtl-2.3.*` and `transformers-0.6.*`, which are bundled with GHC 9.6. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `asl-translator`: GaloisInc/asl-translator#53 * `crucible`: GaloisInc/crucible#1102 * `elf-edit`: GaloisInc/elf-edit#38 * `llvm-pretty`: GaloisInc/llvm-pretty#112 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/semmc
that referenced
this pull request
Aug 8, 2023
This patch contains a handful of small tweaks needed to make the libraries in the `semmc` repo build with GHC 9.6: * I have disambiguated a use of `Data.Parameterized.NatRepr.withKnownNat` in `semmc-aarch32` to avoid clashing with a newly exported function of the same name in `GHC.TypeNats`. * I have bumped `semmc`'s upper version bounds on `mtl` and `transformers` to allow building with `mtl-2.3.*` and `transformers-0.6.*`, which are bundled with GHC 9.6. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `asl-translator`: GaloisInc/asl-translator#53 * `crucible`: GaloisInc/crucible#1102 * `elf-edit`: GaloisInc/elf-edit#38 * `llvm-pretty`: GaloisInc/llvm-pretty#112 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/macaw
that referenced
this pull request
Aug 8, 2023
This patch contains a handful of tweaks needed to make the libraries in the `macaw` repo build with GHC 9.6: * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad`, `Control.Monad.Trans`, and similar modules from `mtl`-related modules. To accommodate this, various imports have been made more explicit. * I have disambiguated a use of `Data.Parameterized.NatRepr.withKnownNat` in `macaw-aarch32` to avoid clashing with a newly exported function of the same name in `GHC.TypeNats`. * I have bumped various upper version bounds on `doctest`, `optparse-applicative`, and `what4` to allow building these libraries with GHC 9.6. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `asl-translator`: GaloisInc/asl-translator#53 * `crucible`: GaloisInc/crucible#1102 * `dwarf`: GaloisInc/dwarf#6 * `elf-edit`: GaloisInc/elf-edit#38 * `flexdis86`: GaloisInc/flexdis86#54 * `grift`: GaloisInc/grift#9 * `llvm-pretty`: GaloisInc/llvm-pretty#112 * `llvm-pretty-bc-parser`: GaloisInc/llvm-pretty-bc-parser#225 * `semmc`: GaloisInc/semmc#80 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/macaw
that referenced
this pull request
Aug 8, 2023
This patch contains a handful of tweaks needed to make the libraries in the `macaw` repo build with GHC 9.6: * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad`, `Control.Monad.Trans`, and similar modules from `mtl`-related modules. To accommodate this, various imports have been made more explicit. * I have disambiguated a use of `Data.Parameterized.NatRepr.withKnownNat` in `macaw-aarch32` to avoid clashing with a newly exported function of the same name in `GHC.TypeNats`. * I have bumped various upper version bounds on `doctest`, `optparse-applicative`, and `what4` to allow building these libraries with GHC 9.6. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `asl-translator`: GaloisInc/asl-translator#53 * `crucible`: GaloisInc/crucible#1102 * `dwarf`: GaloisInc/dwarf#6 * `elf-edit`: GaloisInc/elf-edit#38 * `flexdis86`: GaloisInc/flexdis86#54 * `grift`: GaloisInc/grift#9 * `llvm-pretty`: GaloisInc/llvm-pretty#112 * `llvm-pretty-bc-parser`: GaloisInc/llvm-pretty-bc-parser#225 * `semmc`: GaloisInc/semmc#80 * `what4`: GaloisInc/what4#235
RyanGlScott
added a commit
to GaloisInc/macaw
that referenced
this pull request
Aug 21, 2023
This patch contains a handful of tweaks needed to make the libraries in the `macaw` repo build with GHC 9.6: * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad`, `Control.Monad.Trans`, and similar modules from `mtl`-related modules. To accommodate this, various imports have been made more explicit. * I have disambiguated a use of `Data.Parameterized.NatRepr.withKnownNat` in `macaw-aarch32` to avoid clashing with a newly exported function of the same name in `GHC.TypeNats`. * I have bumped various upper version bounds on `doctest`, `optparse-applicative`, and `what4` to allow building these libraries with GHC 9.6. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `asl-translator`: GaloisInc/asl-translator#53 * `crucible`: GaloisInc/crucible#1102 * `dwarf`: GaloisInc/dwarf#6 * `elf-edit`: GaloisInc/elf-edit#38 * `flexdis86`: GaloisInc/flexdis86#54 * `grift`: GaloisInc/grift#9 * `llvm-pretty`: GaloisInc/llvm-pretty#112 * `llvm-pretty-bc-parser`: GaloisInc/llvm-pretty-bc-parser#225 * `semmc`: GaloisInc/semmc#80 * `what4`: GaloisInc/what4#235
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch contains a variety of fixes needed to build the libraries in the
what4
repo with GHC 9.6:GHC 9.6 bundles
mtl-2.3.*
, which no longer re-exportsControl.Monad
,Control.Monad.IO.Class
, and similar modules frommtl
-related modules.To accommodate this, various imports have been made more explicit.
MonadTrans t
now has a quantifiedforall m. Monad m => Monad (t m)
superclass in
mtl-2.3.*
. As a result, theMonadTrans (PartialT sym)
instance must now have an
IsExpr (SymExpr sym)
instance context in orderfor it to typecheck, as this is the same instance context that
PartialT
'sMonad
instance has.This is technically a breaking change, so I have noted it in the
what4
changelog. That being said, this change is unlikely to affect many people
in practice, considering that the
MonadTrans
instance forPartialT
isusually used in tandem with the
Monad
instance.Various upper version bounds on
base
have been lifted to allow buildingwith
base-4.18
.The
aig
submodule has been bumped to bring in the changes fromSupport building with GHC 9.6 aig#15, which allows it to build with GHC 9.6.