3 ms·
I'm partway through reading this. It is quite interesting. GHC has a standard disease of big old programs and refactoring the issues they describe will be a p
by throwaway81523 5y ago
I'm partway through reading this. It is quite interesting. GHC has a standard disease of big old programs and refactoring the issues they describe will be a pretty impressive feat. I think doing something similar with GCC is likely hopeless.
I wonder if GHC has to be so complicated, to compile the language that it compiles, including all the extensions. JHC was a lot smaller but internally used a dependently typed intermediate language, that simplified some things. Of course it didn't implement nearly as complicated a language as GHC does.
- simonmic 5y agoGHC, too, compiles the surface language down to a series of progressively simpler intermediate languages. (See diagrams further into the paper.)
- Ericson2314 5y agoYes indeed, the problems are hardly GHC-specific, being common in much old software. I'm a big believer in the classic https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i https://www.joelonsoftware.com/2000/04/06/things-you-should-... such that I much rather refactor GHC even if starting over, or working on Idris 2, is tempting. > I think doing something similar with GCC is likely hopeless. I think it could be done, but yes refactoring Haskell is so much easier — an opportunity to be embraced!