This is the June 2022 monthly update from the GHC DevX team at IOG.
This month we have made the following progress:
.jsfiles. We've also added support for a preprocessing pass with CPP for
js-sourcesstanza for this, we need to adapt Hadrian to make use of it.
Binary vs Objectable: GHCJS used its own ByteString-based Objectable type-class: we replaced it with GHC's similar Binary type-class. Josh has published a blog post about their differences.
64-bit primops: we've added support for 64-bit primops (Word64# and Int64# types). In GHCJS (GHC 8.10), these were still implemented as foreign function calls. It's no longer true on GHC head.
Now we can compile and link the "HelloWorld" program. To reach the first milestone we only have to fix the remaining runtime errors.
You can follow our progress on our development branch here. We now rebase this branch every Friday to avoid lagging too much behind GHC head.
Haskell Optimization Handbook
The "Haskell Optimization Handbook" is an accepted proposal of the Haskell Foundation. Jeff has been steadily writing some initial material as per the project plan.