Triweekly update from the GHC DevX team at IOG.
Previous updates can be found here.
High level summaryโ
This sprint the team prepared a survey (internal to IOG) to find the most pressing issues with the Haskell toolchain and what we could improve. Responses are still incoming and will be analyzed during the next sprint.
Performance of the Haskell toolchain is a common complaint, even before this survey. The team is working on tracking GHC performance across releases and the team made progresses on a report about this topic.
Finally the team worked on loose ends of the JS backend that would be
nice to have in the upcoming GHC 9.10 release: code optimizer, support for linking with
C sources (e.g. sqlite
works), tracking code size in CI, pure Haskell implementation of
the bytestring
package.
Detailsโ
Sylvain: update haskell.nix documentation for non-nix users. See haskell.nix and rendered result once the rendering pipeline is fixed.
Sylvain: support for C sources in the JS backend: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11502
Luite: Worked on adding tests to the JS backend optimizer: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11507
Sylvain: pure Haskell implementation of the bytestring
package: https://github.com/haskell/bytestring/pull/631
Jeff: Returned to working on the Haskell Optimization Handbook
Jeff: Worked on patching GHC's CI to track executable sizes for more backends: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11551
Josh: worked on using recently added STG tags to improve code generation: https://gitlab.haskell.org/ghc/ghc/-/issues/24309
Josh: improved graphs for the Haskell toolchain performance report and added testing for template Haskell performance.