Skip to content

Commit 3915fbc

Browse files
hsyl20luiteJeffrey Young
authored
GHC Team update 37 (#98)
* GHC Team update 37 * Update 2024-11-07-ghc-update-37.md * Update 2024-11-07-ghc-update-37.md * Update 2024-11-07-ghc-update-37.md * Update 2024-11-07-ghc-update-37.md * Update 2024-11-07-ghc-update-37.md spec eval * Update 2024-11-07-ghc-update-37.md parsrer ascii * Update 2024-11-07-ghc-update-37.md * Update 2024-11-07-ghc-update-37.md * Update 2024-11-07-ghc-update-37.md --------- Co-authored-by: Luite Stegeman <[email protected]> Co-authored-by: Jeffrey Young <[email protected]>
1 parent 452926f commit 3915fbc

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

blog/2024-11-07-ghc-update-37.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
slug: 2024-11-07-ghc-update
3+
title: "IOG GHC Update #37"
4+
authors: [sylvain,doyougnu,luite]
5+
tags: [ghc,ghc-update]
6+
---
7+
8+
Triweekly update from the GHC DevX team at IOG.
9+
10+
<!-- truncate -->
11+
12+
Previous updates can be found [here](https://engineering.iog.io/tags/ghc-update).
13+
14+
## High-level Summary
15+
16+
The team has been working on providing patches for GHC to fix the cardano regression mentioned in previous updates.
17+
18+
See details below for the more general maintenance and improvement fixes.
19+
20+
## Details
21+
22+
### Performance
23+
24+
Sylvain: improved performance of codes using user event tracing (e.g.
25+
`traceEvent`) when tracing is disabled, putting an end to a long saga of merge
26+
requests by different people
27+
([GHC!3323](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3323),
28+
[GHC!5316](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5316),
29+
[GHC!12302](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12302)). I
30+
mostly did the menial work of making the latest MR pass CI and of getting it
31+
approved by the CLC because it impacts `base`
32+
([CLC!291](https://github.com/haskell/core-libraries-committee/issues/291#issuecomment-2420734806)).
33+
See [GHC!13295](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13295) and
34+
[GHC#17949](https://gitlab.haskell.org/ghc/ghc/-/issues/17949).
35+
36+
Luite: Attempted to find the right conditions in the coreprep pass to modify speculative
37+
evaluation optimization to fix the regression preventing us from upgrading Cardano
38+
to GHC 9.6. Unfortunately it turned out that a working fix would also affect
39+
optimizations elsewhere, making it risky to backport. We decided to add flags
40+
to GHC for directly controlling the speculative evaluation optimization instead,
41+
with the intention of backporting them to GHC 9.6+. See [GHC!13556](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13556) and
42+
[GHC#25284](https://gitlab.haskell.org/ghc/ghc/-/issues/25284).
43+
44+
Jeff: Refined the SrcLoc type to be unpacked and strict. This was the second attempt to close out CLC proposal [CLC#55](https://github.com/haskell/core-libraries-committee/issues/55). This is now merged in [GHC!13381](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13381) and reduced binary sizes for almost every compiler artifact.
45+
46+
### Toolchain
47+
48+
Sylvain: fixed Stack support for the upcoming GHC 9.12. See [hi-file-parser#21](https://github.com/commercialhaskell/hi-file-parser/issues/21) and
49+
[hi-file-parser!23](https://github.com/commercialhaskell/hi-file-parser/pull/23). Almost every release of GHC makes some changes to the interface file (.hi) format.
50+
Stack parses these files to get dependency tracking right. This solution is fragile but there isn't another option currently: see [stack#5134](https://github.com/commercialhaskell/stack/issues/5134),
51+
[GHC#17620](https://gitlab.haskell.org/ghc/ghc/-/issues/17620), and [GHC-proposal#245](https://github.com/ghc-proposals/ghc-proposals/pull/245).
52+
53+
### Maintenance
54+
55+
Sylvain: simplified the handling of the virtual `GHC.Prim` module by the build system.
56+
The build systems no longer have to special-case the handling of this module: it is all done in GHC which was already treating it differently internally anyway. See [GHC!13477](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13477).
57+
58+
Luite: Fixed a small issue with non-ASCII characters in the parser breaking HLS. See [GHC#25396](https://gitlab.haskell.org/ghc/ghc/-/issues/25396), [GHC!13461](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13461).
59+
60+
Jeff: Has been working towards splitting base and GHC with CLC proposal [CLC#289](https://github.com/haskell/core-libraries-committee/issues/289). This has been implemented in [GHC!13428](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13428) and [GHC!13343](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13343). GHC will be a little less coupled to base in 9.14 :)
61+

0 commit comments

Comments
 (0)