-
444701b5
by Berk Özkütük at 2025-07-07T13:11:25-04:00
Consider `PromotedDataCon` in `tyConStupidTheta`
Haddock checks data declarations for the stupid theta so as not to
pretty-print them as empty contexts. Type data declarations end up as
`PromotedDataCon`s by the time Haddock performs this check, causing a
panic. This commit extends `tyConStupidTheta` so that it returns an
empty list for `PromotedDataCon`s. This decision was guided by the fact
that type data declarations never have data type contexts (see (R1) in
Note [Type data declarations]).
Fixes #25739.
-
32beb9ab
by Ryan Hendrickson at 2025-07-07T13:11:30-04:00
haddock: Document instances from other packages
When attaching instances to `Interface`s, it isn't enough just to look
for instances in the list of `Interface`s being processed. We also need
to look in the modules on which they depend, including those outside of
this package.
Fixes #25147.
Fixes #26079.
-
3af21236
by Rodrigo Mesquita at 2025-07-07T13:11:30-04:00
hadrian: Fallback logic for internal interpreter
When determining whether to build the internal interpreter, the `make`
build system had a fallback case for platforms not in the list of
explicitly-supported operating systems and architectures.
This fallback says we should try to build the internal interpreter if
building dynamic GHC programs (if the architecture is unknown).
Fixes #24098
-
9bc76073
by Ben Gamari at 2025-07-07T13:11:31-04:00
users-guide: Reference Wasm FFI section
-
26a51534
by Ben Gamari at 2025-07-07T13:11:31-04:00
users-guide: Fix too-short heading warning
-
ed8bc569
by Duncan Coutts at 2025-07-07T13:11:34-04:00
Reorganise documentation for allocate* functions
Consolodate interface information into the .h file, keeping just
implementation details in the .c file.
Use Notes stlye in the .h file and refer to notes from the .c file.
-
482f14cb
by Duncan Coutts at 2025-07-07T13:11:34-04:00
Introduce common utilities for allocating arrays
The intention is to share code among the several places that do this
already.
-
fcbc0505
by Duncan Coutts at 2025-07-07T13:11:34-04:00
Use new array alloc utils in Heap.c
The CMM primop can now report heap overflow.
-
0ea051e9
by Duncan Coutts at 2025-07-07T13:11:34-04:00
Use new array alloc utils in ThreadLabels.c
Replacing a local utility.
-
07a02368
by Duncan Coutts at 2025-07-07T13:11:34-04:00
Use new array alloc utils in Threads.c
Replacing local open coded version.
-
6c6d7440
by Duncan Coutts at 2025-07-07T13:11:34-04:00
Add exitHeapOverflow helper utility
This will be useful with the array alloc functions, since unlike
allocate/allocateMaybeFail, they do not come in two versions. So if it's
not convenient to propagate failure, then one can use this.
-
5752dae0
by Duncan Coutts at 2025-07-07T13:11:35-04:00
Use new array alloc utils in Weak.c
Also add a cpp macro CCS_SYSTEM_OR_NULL which does what it says. The
benefit of this is that it allows us to referece CCS_SYSTEM even when
we're not in PROFILING mode. That makes abstracting over profiling vs
normal mode a lot easier.
-
5fd083e7
by Duncan Coutts at 2025-07-07T13:11:35-04:00
Convert the array alloc primops to use the new array alloc utils
-
88d8d365
by Duncan Coutts at 2025-07-07T13:11:35-04:00
While we're at it, add one missing 'likely' hint
To a cmm primops that raises an exception, like the others now do.
-
c16670f6
by meooow25 at 2025-07-07T13:11:39-04:00
Keep scanl' strict in the head on rewrite
`scanl'` forces elements to WHNF when the corresponding `(:)`s are
forced. The rewrite rule for `scanl'` missed forcing the first element,
which is fixed here with a `seq`.