the impossible happened et al.
Summary
Since there are already a few very specific bugs (not sure if one matches my exact one though, which I just encountered: loading temp shared object failed, symbol not found...), I just wanted to let you know, that GHC can get quite unstable when doing certain refactoring things...
Steps to reproduce
For example, if you move some functions from one module into another and then import the moved functions into the old module, the 'impossible' could happen (ghc: panic!) ... But usually it doesn't... usually it just produces a runtime bug which I simply resolve by deleting my o
and my hi
directories and rebuild the whole project.
These things can cost a little time, because you try to figure out what's wrong, but really your code is correct... But that's okay, haskell is the least buggy system I've ever worked with, so yay.
Other things I do to create these kinds of weird issues is to rename modules and move types around. In any case, deleting all object and hi files and rebuilding resolves them each time. I have no idea how hard it would be to fix these issues.
So... sorry for the very general "its unstable" message. I really appreciate haskell and GHC. I mean I honestly never fully enjoyed programming before I met your amazing software. Code-and-me has been a love-hate relationship... Now thanks to you guys it is a love-(with almost no hate)-relationship xD
Expected behavior
Figure out which o
and hi
files need to be recreated by itself. Compile. No weird runtime errors.
Environment
- GHC version used: 8.8.4
Optional:
- Operating System: macOS Catalina
- System Architecture: 64 bit