Skip to content

Enable cabal multi-repl in skeleton - #4

Open
augyg wants to merge 1 commit into
gs/servant-routingfrom
gs/enable-mhu-1785375501
Open

Enable cabal multi-repl in skeleton#4
augyg wants to merge 1 commit into
gs/servant-routingfrom
gs/enable-mhu-1785375501

Conversation

@augyg

@augyg augyg commented Jul 31, 2026

Copy link
Copy Markdown

Re-enable multi-repl: True in skeleton/cabal.project. The prior disable comment blamed a GHC 9.14 "LinkInMemory" panic; the real trigger is buildable unit files with no exposed-modules of their own (only reexported-modules or similar). GHC's multi-repl driver routes empty units through Pipeline.hs's LinkInMemory path even when the interpreter is enabled, and panics. See GHC issues #25366 and #26073.

frontend-wasm and frontend-js were the offenders: both only reexport Frontend, no own exposed-modules. Added a one-line Placeholder module + hs-source-dirs to each so the unit files have at least one target. cabal repl --enable-multi-repl now loads 20 modules across common + frontend + backend + landing-page

  • frontend-wasm in one GHCi session on GHC 9.14.1.

I have:

  • Based work on latest develop branch
  • Followed the contribution guide
  • Looked for lint in my changes with hlint . (lint found code you did not write can be left alone)
  • Run the test suite: $(nix-build -A selftest --no-out-link)
  • Updated the changelog
  • (Optional) Run CI tests locally: nix-build release.nix -A build.x86_64-linux --no-out-link (or x86_64-darwin on macOS)

Re-enable multi-repl: True in skeleton/cabal.project. The prior
disable comment blamed a GHC 9.14 "LinkInMemory" panic; the real
trigger is buildable unit files with no exposed-modules of their
own (only reexported-modules or similar). GHC's multi-repl driver
routes empty units through Pipeline.hs's LinkInMemory path even
when the interpreter is enabled, and panics. See GHC issues
#25366 and #26073.

frontend-wasm and frontend-js were the offenders: both only
reexport Frontend, no own exposed-modules. Added a one-line
Placeholder module + hs-source-dirs to each so the unit files
have at least one target. cabal repl --enable-multi-repl now
loads 20 modules across common + frontend + backend + landing-page
+ frontend-wasm in one GHCi session on GHC 9.14.1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant