Skip to main content

IOG GHC Update #23

ยท 2 min read

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.