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

upgrade to Ghc 9.8.1 #2624

Merged
merged 13 commits into from
Feb 7, 2024
Merged

upgrade to Ghc 9.8.1 #2624

merged 13 commits into from
Feb 7, 2024

Conversation

janmasrovira
Copy link
Collaborator

@janmasrovira janmasrovira commented Feb 6, 2024

This PR updates the stackage LTS resolver to nightly-2024-02-06 which uses GHC 9.8.1

Upgrade notes

You will need to update your HLS to 2.6.0.0, this release contains support for GHC 9.8.1

Fixes

haskeline / repline

We have removed the custom haskeline / repline forks used in the build. This is because we had trouble overriding haskeline as it is bundled with GHC and the stackage resolver uses this bundled version. We were using a custom fork of haskeline to implement mapInputT_ in the Juvix REPL, required to implement error handling. This requires private API from the Haskeline library.

Instead of using a custom fork we use TemplateHaskell to obtain access to the private API we need. See DarkArts.hs and HaskelineJB.hs.

To obtain access to the private API, we adapted a method from a Tweag blogpost and repo - updating it for GHC 9.8.1.

aeson-better-errors

The aeson-better-errors library has not been updated to work with mtl-2.3.0 so it cannot work with the new stackage resolver. We are using a fork which has been updated.

We should consider replacing this library in future, see #2621

path

The path library now includes API splitDrive and dropDrive so we can remove our versions of those functions from the prelude.

with-utf8

We no longer need to depend on with-utf8. We were using this package for UTF-8 versions of readFile and writeFile APIs. These APIs are now available in the text package.

Compiler warnings

GHC 9.8.1 introduces several new compiler warnings.

  • We have suppressed missing-role-annotations and missing-poly-kind-signatures
  • We added our own versions of head and tail to work around the new partial-tx warning introduced for those functions in Data.List.
  • We fixed up the code to avoid the term-variable-capture warning.

@paulcadman paulcadman added this to the 0.6.0 milestone Feb 6, 2024
@janmasrovira janmasrovira marked this pull request as ready for review February 6, 2024 23:36
@paulcadman paulcadman merged commit 13f64af into main Feb 7, 2024
4 checks passed
@paulcadman paulcadman deleted the ghc-9.8.1 branch February 7, 2024 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants