jgm/skylighting

Build failures in skylighting-core with mtl-2.3

sjakobi opened this issue · 4 comments

src/Regex/KDE/Compile.hs:106:33: error:
    Variable not in scope:
      mzero :: Data.Attoparsec.Internal.Types.Parser ByteString Regex
    |
106 |           (Nothing, Nothing) -> mzero
    |                                 ^^^^^

src/Regex/KDE/Compile.hs:158:22: error:
    Variable not in scope:
      mzero :: Data.Attoparsec.Internal.Types.Parser ByteString Regex
    |
158 |       | otherwise -> mzero
    |                      ^^^^^

src/Regex/KDE/Compile.hs:180:22: error:
    Variable not in scope:
      mzero :: Data.Attoparsec.Internal.Types.Parser ByteString Regex
    |
180 |       | otherwise -> mzero) <|> (MatchChar . (==) <$> pEscaped c)
    |                      ^^^^^

All versions on Hackage appear to be affected in some way.

As a Hackage trustee I have created revisions for these versions that add bounds mtl < 2.3. See e.g. https://hackage.haskell.org/package/skylighting-core-0.12.3/revisions/.

jgm commented

Hm, looks like mtl 2.3 no longer exports mzero.
That's a pretty big breaking change, and not noted in the mtl changelog!

jgm commented

Another issue: ExceptT is no longer exported from Control.Monad.Except? Also not in the changelog for mtl 2.3!

Hm, looks like mtl 2.3 no longer exports mzero. That's a pretty big breaking change, and not noted in the mtl changelog!

Indeed. The changelog was fixed after the release: haskell/mtl#114

Another issue: ExceptT is no longer exported from Control.Monad.Except? Also not in the changelog for mtl 2.3!

That should be addressed in an upcoming bugfix release: haskell/mtl#117

jgm commented

OK, the new skylighting release 0.12.3.1 should be okay with mtl 2.3.