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

Fix incompatibility with GHC 9.6 #12

Merged
merged 3 commits into from
Aug 8, 2023

Conversation

FPtje
Copy link
Contributor

@FPtje FPtje commented Aug 5, 2023

Follow-up of GHC 9.6. It looks like the dependencies for GHC 9.6 now work, so that makes this a good opportunity to fix UUAGC(-cabal) as well.

Short summary of changes:

  • Replace ErrorT with ExceptT. ErrorT has been deprecated for a while, and ErrorT has existed since 2014 (added in transformers-0.4.0.0). I would have used some CPP pragma to keep it backwards compatible, but AG files don't seem to like those.
  • Import some monad functions from Control.Monad. I think some of them were removed from Prelude, causing the error. Importing them from Control.Monad should be fine for backwards compatibility.
  • Replace fail for the ST s monad with its original implementation. See Remove MonadFail (ST s) instance(s) haskell/core-libraries-committee#33, the MonadFail instance of ST s was removed. Its original implementation was considered to be against the spirit of MonadFail.

Tested by running cabal build from GHC 9.6, 9.4, 9.2 and 9.0.

FPtje added 3 commits August 5, 2023 15:23
ExceptT has been around for a long while, and ErrorT is deprecated.
The MonadFail instance of ST was removed, see
haskell/core-libraries-committee#33
@jbransen jbransen merged commit f84e64b into UU-ComputerScience:master Aug 8, 2023
@jbransen
Copy link
Member

jbransen commented Aug 8, 2023

This looks good, thank you!

@FPtje FPtje deleted the fp/fix-ghc-9.6 branch August 8, 2023 11:51
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