haskell / happy

The Happy parser generator for Haskell
Other
291 stars 84 forks source link

Build failures with mtl-2.3 #236

Closed sjakobi closed 1 year ago

sjakobi commented 2 years ago
src/ParamRules.hs:31:17: error:
    Not in scope: type constructor or class ‘ExceptT’
   |
31 | type M2       = ExceptT String M1
   |                 ^^^^^^^

src/ParamRules.hs:71:10: error:
    Not in scope: type constructor or class ‘ExceptT’
   |
71 | runM2 :: ExceptT e (Writer w) a -> Either e (a, w)
   |          ^^^^^^^

On Hackage, v1.19.9 to v1.20.0 are affected.

As a Hackage trustee I have created revisions for these versions that should prevent users from encountering these errors. See e.g. https://hackage.haskell.org/package/happy-1.20.0/revisions/.

andreasabel commented 2 years ago

I believe ExceptT was dropped by mistake:

I expect a fix of mtl-2.3 to be rolled out and mtl-2.3 being deprecated.

ysangkok commented 2 years ago

@andreasabel A fixed mtl-2.3.1 was released. Does this mean happy v1.21 could be revised to allow mtl-2.3.1?

andreasabel commented 2 years ago

@andreasabel A fixed mtl-2.3.1 was released. Does this mean happy v1.21 could be revised to allow mtl-2.3.1?

I suppose so, but @Ericson2314 is in charge.
I think 1.21 was deprecated because of build failures unrelated to mtl-2.3. So I take your "revised" not as technical term for "Hackage revision", but something including code changes and a release.

andreasabel commented 1 year ago

@Ericson2314 : Now with GHC 9.6 shipping mtl-2.3.1, it would be good to have a happy release that builds with mtl-2.3.1. A revision would not suffice because the code needs a change:

Building executable 'happy' for happy-1.20.0
...
src/Grammar.lhs:470:27: error: [GHC-88464]
    Variable not in scope: when :: Bool -> M () -> b
    |
470 | >          checkArity x = when (x > arity) $ addErr (show x++" out of range")
    |                           ^^^^
andreasabel commented 1 year ago

@Ericson2314: How about releasing a 1.20.1 that just fixes the build with mtl-2.3.1? This could be done rather quickly, branching of the v1.20.0 tag, I suppose.

andreasabel commented 1 year ago

See:

andreasabel commented 1 year ago

Fixed in happy-1.20.1.1.