Biweekly update from the GHC DevX team at IOG.
Previous updates can be found here.
Jeff: Tested generating
let instead of
var to take advantage of more recent
Sylvain: fixed an out-of-bound array access in code generated by Alex, the lexer generator, see Alex#223. The out-of-bound access only triggers an exception with the JS backend; with native backends it only causes a benign data corruption. This was found in Cabal-syntax's lexer, which still needs to be regenerated, see Cabal#8892.
Merge request: GHC MR 10128
Josh: debugged an issue with the
-fcheck-prim-bounds flag. The errors were mostly
false negatives in the indicies that were rejected, but there were also a false positive
due to the existing code not accounting for zero-size ranges being allowed in range-based
operations (even at indicies that don't exist, such as negative).
Merge request: GHC MR 10234
It looks like it's not possible to keep the existing "GHC style" reachability semantics from
that avoids the need for expensive heap scanning. Both variants of weak references
are no pending finalizers for "GHC style" weak references (in progress).
Jeff: Finally landed MR!9702 which refactored GHC's driver to use more eficient data structures. This refactor reduced allocations for every test in GHC's testsuite, with an geometric mean of -1.6%.
The DevX team at IOG welcomes our summer intern Bartek! Bartek will be working on GHC proposal 134; deprecating exports, 516; adding warnings for incomplete record selectors, and deprecating instances. We are glad to be working with him and happy to have him on the team.
GHC migration and stability
Bartek: Started this sprint and has begun to read through the front end code of GHC to begin working on one of the ghc proposal tickets next week.