Skip to content
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

Allow building with base-4.17.* (GHC 9.4.*) #13

Merged
merged 1 commit into from
Jan 4, 2023
Merged

Conversation

RyanGlScott
Copy link
Contributor

No description provided.

@RyanGlScott RyanGlScott merged commit 886438e into master Jan 4, 2023
@RyanGlScott RyanGlScott deleted the ghc-9.4 branch January 4, 2023 18:11
RyanGlScott added a commit to GaloisInc/what4 that referenced this pull request Jan 18, 2023
This contains a varity of changes needed to make the libraries in the `what4`
repo compile with GHC 9.4:

* GHC 9.4 is pickier about undecidable instance checking. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=24540b698481cf2b0bd11029b58eaddc0fbfbb31#stricter-undecidableinstances-checking)
  of the GHC 9.4 Migration Guide. As a result, I had to explicitly enable
  `UndecidableInstances` in `What4.Utils.AbstractDomains` to make it compile.
* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I removed the
  `MonadFail` instance for `VarRecorder`, which was built on top of `ST`'s
  `MonadFail` instance. Accordingly, all uses of `fail` at type `VarRecorder`
  have now been replaced with `error`.
* I bumped the `aig` submodule to bring in the changes from
  GaloisInc/aig#13, which are required to make `aig`
  build with GHC 9.4.
* I bumped the upper version bounds of various dependencies to allow them to
  build with GHC 9.4.

Fixes #224.
RyanGlScott added a commit to GaloisInc/what4 that referenced this pull request Jan 23, 2023
This contains a varity of changes needed to make the libraries in the `what4`
repo compile with GHC 9.4:

* GHC 9.4 is pickier about undecidable instance checking. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=24540b698481cf2b0bd11029b58eaddc0fbfbb31#stricter-undecidableinstances-checking)
  of the GHC 9.4 Migration Guide. As a result, I had to explicitly enable
  `UndecidableInstances` in `What4.Utils.AbstractDomains` to make it compile.
* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I removed the
  `MonadFail` instance for `VarRecorder`, which was built on top of `ST`'s
  `MonadFail` instance. Accordingly, all uses of `fail` at type `VarRecorder`
  have now been replaced with `error`.
* I bumped the `aig` submodule to bring in the changes from
  GaloisInc/aig#13, which are required to make `aig`
  build with GHC 9.4.
* I bumped the upper version bounds of various dependencies to allow them to
  build with GHC 9.4.

Fixes #224.
RyanGlScott added a commit to GaloisInc/what4 that referenced this pull request Jan 23, 2023
This contains a varity of changes needed to make the libraries in the `what4`
repo compile with GHC 9.4:

* GHC 9.4 is pickier about undecidable instance checking. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=24540b698481cf2b0bd11029b58eaddc0fbfbb31#stricter-undecidableinstances-checking)
  of the GHC 9.4 Migration Guide. As a result, I had to explicitly enable
  `UndecidableInstances` in `What4.Utils.AbstractDomains` to make it compile.
* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I removed the
  `MonadFail` instance for `VarRecorder`, which was built on top of `ST`'s
  `MonadFail` instance. Accordingly, all uses of `fail` at type `VarRecorder`
  have now been replaced with `error`.
* I bumped the `aig` submodule to bring in the changes from
  GaloisInc/aig#13, which are required to make `aig`
  build with GHC 9.4.
* I bumped the upper version bounds of various dependencies to allow them to
  build with GHC 9.4.

Fixes #224.
RyanGlScott added a commit to GaloisInc/crucible that referenced this pull request Mar 28, 2023
This contains a variety of tweaks needed to make the libraries in the
`crucible` repo build with GHC 9.4:

* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I had to change some
  uses of `fail` to `error`, and I also had to avoid some partial pattern
  matches in `do`-notation to avoid incurring `MonadFail (ST s)` constraints.
* The `aig` submodule was bumped to bring in the changes from GaloisInc/aig#13,
  which allows it to build with GHC 9.4.
* Various upper version bounds were raised.
RyanGlScott added a commit to GaloisInc/crucible that referenced this pull request Apr 3, 2023
This contains a variety of tweaks needed to make the libraries in the
`crucible` repo build with GHC 9.4:

* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I had to change some
  uses of `fail` to `error`, and I also had to avoid some partial pattern
  matches in `do`-notation to avoid incurring `MonadFail (ST s)` constraints.
* The `aig` submodule was bumped to bring in the changes from GaloisInc/aig#13,
  which allows it to build with GHC 9.4.
* Various upper version bounds were raised.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants