guibou / PyF

Haskell QuasiQuoter for String Formatting
BSD 3-Clause "New" or "Revised" License
66 stars 13 forks source link

fix: support for GHC 9.10 api #138

Closed guibou closed 6 months ago

guibou commented 6 months ago

Close #137.

tchoutri commented 6 months ago

I'm getting:

[5 of 8] Compiling PyF.Internal.Meta ( src/PyF/Internal/Meta.hs, dist/build/PyF/Internal/Meta.o, dist/build/PyF/Internal/Meta.dyn_o )

src/PyF/Internal/Meta.hs:143:25: error: [GHC-76037]
    Not in scope: type constructor or class ‘Pat.ArgPat’
    NB: the module ‘GHC.Hs.Pat’ does not export ‘ArgPat’.
    Suggested fix:
      Perhaps use one of these:
        ‘Pat.Pat’ (imported from GHC.Hs.Pat),
        ‘Pat.LPat’ (imported from GHC.Hs.Pat)
    |
143 | toArgPat :: DynFlags -> Pat.ArgPat GhcPs -> TH.ArgPat
    |                         ^^^^^^^^^^

src/PyF/Internal/Meta.hs:143:45: error: [GHC-76037]
    Not in scope: type constructor or class ‘TH.ArgPat’
    NB: the module ‘Language.Haskell.TH.Syntax’ does not export ‘ArgPat’.
    |
143 | toArgPat :: DynFlags -> Pat.ArgPat GhcPs -> TH.ArgPat
    |                                             ^^^^^^^^^

src/PyF/Internal/Meta.hs:144:20: error: [GHC-76037]
    Not in scope: data constructor ‘Pat.VisPat’
    NB: the module ‘GHC.Hs.Pat’ does not export ‘VisPat’.
    Suggested fix:
      Perhaps use one of these:
        ‘Pat.AsPat’ (imported from GHC.Hs.Pat),
        ‘Pat.LitPat’ (imported from GHC.Hs.Pat),
        ‘Pat.SigPat’ (imported from GHC.Hs.Pat)
    |
144 | toArgPat dynFlags (Pat.VisPat _ pat) = TH.VisAP $ toPat dynFlags $ unLoc pat
    |                    ^^^^^^^^^^

src/PyF/Internal/Meta.hs:144:40: error: [GHC-76037]
    Not in scope: data constructor ‘TH.VisAP’
    NB: the module ‘Language.Haskell.TH.Syntax’ does not export ‘VisAP’.
    Suggested fix:
      Perhaps use one of these:
        ‘TH.ListP’ (imported from Language.Haskell.TH.Syntax),
        ‘TH.ViewP’ (imported from Language.Haskell.TH.Syntax)
    |
144 | toArgPat dynFlags (Pat.VisPat _ pat) = TH.VisAP $ toPat dynFlags $ unLoc pat
    |                                        ^^^^^^^^
tchoutri commented 6 months ago

You can test GHC 9.10 alpha with GHCup:

$ ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml
$ ghcup install ghc 9.10.0.20240413
guibou commented 6 months ago

Sorry. I tested with GHC 9.10 alpha 1, I'm stupid.

Build with support for GHC 9.10 alpha 3 incoming.

guibou commented 6 months ago

@tchoutri sorry, you may retest now. (Tested with GHC 9.10-alpha3 here)

tchoutri commented 6 months ago

@guibou Perfect, it compiles! Thank you!