Triweekly update from the GHC DevX team at IOG.
Previous updates can be found here.
JS backendโ
Luite: Fixed some bugs in the new JStg intermediate representation. newIdents
was broken, which resulted in the same identifiers
being generated multiple times (see GHC!11569. Some local variable declarations
were missing, causing global variables to be used instead (or programs to fail with an error in strict mode). See
GHC!11581.
Luite: Continued work on the JStg optimizer. Floating of single-use values into expressions (removing an intermediate assignment) and constant folding with integers and booleans in expressions now work. See GHC!11507 for work in progress.
Josh: Fixed several bugs remaining in ghcjs-base
that occur with the JavaScript backend.
Josh: Finished updating ghcjs-base
, ghcjs-dom
, jsaddle
, and jsaddle-dom
to work with the JavaScript backend on GHC 9.8.1. These will
be officially released soon, for now see:
ghcjs-base
: https://github.com/JoshMeredith/ghcjs-base/tree/wip/js-backendghcjs-dom
: https://github.com/JoshMeredith/ghcjs-dom/tree/wip/js-backendjsaddle
: https://github.com/JoshMeredith/jsaddle/tree/wip/js-backendjsaddle-dom
: https://github.com/JoshMeredith/jsaddle-dom/tree/wip/js-backend
Sylvain: fixed support for "wrapper" and "dynamic" FFI imports. This is part of the work towards linking C sources with JS sources
using Emscripten. This issue came while compiling sqlite.c
. GHC!11525
Miscโ
Sylvain: helped debugging
iserv-proxy-interpreter which was
failing with internal error:Evaluated a CAF that was GC'd!
(see iserv-proxy!1).
It turned out that this interpreter didn't disable CAF garbage collection contrary to
GHC
and the non-proxy external
interpreter.
Sylvain: fixed a compiler panic triggered by some package database state with
unusable packages
GHC!11604.
This has been reported quite a few times on the GHC tracker GHC#21097,
GHC#11050, GHC#16996,
and internally on IOG channels. Before that a workaround was to delete cabal-install's store (~/.cabal/store
on Linux).
Jeff: Has been helping the Cardano team migrate to GHC-9.6.