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 theprocess
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: !10590Josh: 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 asghcjs-dom
. See: ghcjs-base!134Jeff: 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​
Bartek: started work on the incomplete record selectors propolal, reading through the desugarer code
Bartek: crunching through the pattern match checker paper
Bartek: investigating the issue where the code handling the incomplete record updates warning was removed. See GHC#23520
Miscellaneous​
- 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.