Skip to main content

IOG GHC Update #12

· 3 min read

Biweekly update from the GHC DevX team at IOG.

Previous updates can be found here.

GHC contributors' workshop & Zurihac

  • Sylvain: had a great time presenting the JavaScript backend at the GHC contributors' workshop and discussing various Haskell/GHC related things at Zurihac. It was nice to meet so many familiar nicknames in person! Slides and examples can be found here.

JavaScript backend

  • Sylvain: updated the MR implementing Template Haskell for the JS backend !9779 to add a workaround for recompilation avoidance issues. We hope to get this MR merged before the GHC 9.8 fork (tomorrow).

  • Sylvain: has been doing some bug triage in the testsuite. Now the result can be accessed and modifierd directly on the wiki (it was in a Google doc before).

  • Luite: fixed a few IO related bugs, including one that caused threads to be unreachable by asynchronous exceptions such as timeout. GHC!10657

  • Luite: fixed file descriptor sharing and signal handling for the process package on node.js, among many smaller changes and fixes. The testsuite for the process package now passes on the JavaScript target. Some work remains before it can be merged, mostly around error handling and documentation, but the package should be generally usable now. GHC#22349, luite/process/js WIP branch GitHub.

  • Josh: updated JavaScript FFI import strings in the posix library to use modern JavaScript backend syntax. See: !10590

  • Josh: worked on updating ghcjs-base to work with the JavaScript backend. This library is the first step in updating the GHCJS ecosystem for the JavaScript backend, such as ghcjs-dom. See: ghcjs-base!134

  • Jeff: Root caused JavaScript backend CI perf tests not being run. Perf tests should be enabled again soon. MR here

  • Jeff: Continued splitting the JavaScript backend into an eDSL and IR for codegen/optimizations. Not ready for MR yet, but this will be a fairly large code churn.

Deprecation warnings

  • Bartek: Trying to get the last changes through and fixing minor comments from Sam. See GHC!10283

Incomplete Record Selectors


  • Jeff: Continued trying to add ANSI Hyperlinks for the Haskell Error Index here. We hope to get this merged into the GHC 9.8 fork.