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

ghc 8.10 and ghc-prim bound #65

Open
adamConnerSax opened this issue Jun 25, 2020 · 8 comments · Fixed by polysemy-research/polysemy#382
Open

ghc 8.10 and ghc-prim bound #65

adamConnerSax opened this issue Jun 25, 2020 · 8 comments · Fixed by polysemy-research/polysemy#382

Comments

@adamConnerSax
Copy link
Contributor

Currently, the zoo won't compile with ghc 8.10.1 because of an upper bound on ghc-prim. It might be as simple as raising the bound. However, when I tried to check via an "allow-newer" in cabal.project, the compiler crashed with a ghc-panic while compiling Polysemy.RevState

<no location info>: error:
    ghc: panic! (the 'impossible' happened)
  (GHC version 8.10.1:
	mergeSATInfo
  Left:STSTSTSVSVSV, Right:STSTSTSVSCNSNS
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/utils/Outputable.hs:1179:37 in ghc:Outputable
        pprPanic, called at compiler/simplCore/SAT.hs:152:20 in ghc:SAT

Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
@isovector
Copy link
Member

😱

@adamConnerSax
Copy link
Contributor Author

adamConnerSax commented Sep 27, 2020

I know this is being tracked via polysemy-research/polysemy#356 but this "solution" is specific to the issue with RevState in the zoo. I've got a branch that compiles with ghc-8.10.2, but only because I used CPP to remove the runXXX function in RevState. If it's any help debugging, the bug only triggers if the functions are exported. They compile fine. But if either run function is on the export list, we get the GHC panic.

For now it suits my purposes, since I can use that and start working with 8.10. Should I make a PR? It's hardly a real fix, and it's obviously breaking, but it's also better in some ways than not being able to use the lib at all with ghc-8.10. The PR also bumps the upper bound on ghc-prim, otherwise polysemy-zoo won't compile with ghc-8.10.x, and the upper bound on random since that was an important upgrade in random.

@KingoftheHomeless
Copy link
Collaborator

If it's plugin-specific, it's better to rewrite polysemy-zoo to not make use of it. That's a horrible amount of work, however.
I'll get to it.

@adamConnerSax
Copy link
Contributor Author

Okay! I'l just use my fork for now, then. Thanks!

@KingoftheHomeless
Copy link
Collaborator

Stop-gap for this has been implemented through #66. Not closing this since the underlying bug hasn't been fixed.

@spacekitteh
Copy link
Contributor

Could a 0.7.0.1 release be pushed in the meantime?

@KingoftheHomeless
Copy link
Collaborator

Done.

@spacekitteh
Copy link
Contributor

This needs to occur again for 9.0

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 a pull request may close this issue.

4 participants