Triweekly update from the GHC DevX team at IOG.
Previous updates can be found here.
ICFPโ
Most of the team was at ICFP 2023 last week!
Jeff presented our paper Stretching the Glasgow Haskell Compiler: Nourishing GHC with Domain-Driven Design at the Funarch workshop colocated with ICFP. This paper is a 6 page version of our white paper Modularizing GHC. It establishes anti-modular anti-patterns that we have found while modularizing GHC, discusses why these anti-patterns are problematic, and provides recommendation for other functional language software architects.
Luite gave a lightning talk at the Haskell Symposium on the status of the JavaScript backend in GHC, and about what you can do to make your packages work with it.
Performanceโ
Sylvain: added some missing rewrite rules for cheaper Int64/Word64 to Float/Double conversions. See GHC#23907, GHC!11170, and CLC proposal #203.
GHC buildโ
Hamish tried to build GHC head with haskell.nix and faced an issue with conflicting rules: two source files (Stack.cmm
and Stack.c
) would produce the same output object code (Stack.o
).
This isn't an issue for GHC which uses its adhoc build system which produces cmm/Stack.o
and c/Stack.o
in this case. But it is for Haskell.nix and cabal-install.
See GHC#23898 and GHC!11160 for Sylvain's fix.
GHC User Experienceโ
Jeff finally drove home the Haskell Foundation Error Index link merge request; it should be merged shortly. Now once GHC issues a type error the HF error link will be an actual link to its entry in the Haskell Foundation Error Index.
JS backendโ
Sylvain: updated the wiki
page
about GHC tests still failing with the JS backend. Some failures were due to
issues with the tests themselves (Cabal not finding the right ghc-pkg
program
to use) and have been fixed in
GHC!11193.