Upgrade Haskell to 9.x
We're lagging behind upstream Haskell. The upgrade from 8.x to 9.x is a bit of work from what I see on the internet, however I think it should be done.
https://github.com/vabal/vabal this might be useful.
Steps to take
- First look through our custom dependencies (on gitlab and our custom clones on github) and see if these compile.
Advantages?
- Improvements in code generation, resulting in considerable runtime performance improvements in some programs. (https://www.haskell.org/ghc/blog/20210204-ghc-9.0.1-released.html)
- Improvements in pattern-match checking, allowing more precise detection of redundant cases and reduced compilation time. (https://www.haskell.org/ghc/blog/20210204-ghc-9.0.1-released.html)
- Many changes in the area of records, including the new RecordDotSyntax and NoFieldSelectors language extensions, as well as Support for DuplicateRecordFields with PatternSynonyms. (https://www.haskell.org/ghc/blog/20211029-ghc-9.2.1-released.html)
- Faster compilation and a smaller memory footprint (https://www.haskell.org/ghc/blog/20211029-ghc-9.2.1-released.html)
- Introduction of a tag-check elision optimisation, bringing significant performance improvements in strict programs. (https://www.haskell.org/ghc/blog/20220807-ghc-9.4.1-released.html)
- Significant compile-time improvements to runtime and memory consumption. (https://www.haskell.org/ghc/blog/20220807-ghc-9.4.1-released.html)
And I just listed performance-oriented stuff, not talking about new language extensions etc.