Skip to content

Wasm backend Template Haskell support

Cheng Shao requested to merge type-dance/ghc:wasm-th into master

Closes #24376.

Current status: it works with unreg/NCG backend now. ghci also works. JSFFI doesn't work in bytecode yet, but works when compiled into wasm shared library and invoked by bytecode.

TODOs:

  • host_fully_static logic in hadrian/ci
  • Build shared library for libffi-wasm
  • Build shared library for in-tree GMP
  • PIC and shared libraries support for unreg backend
  • PIC and shared libraries support for NCG
  • RTS linker for wasm
  • External interpreter logic
  • JSFFI support in dynamic code
  • ghci support
  • Support loading home modules in TH in make mode
  • Fix testsuite
  • Off-CI manual testing with real world TH splices
  • Fix https://github.com/llvm/llvm-project/issues/108599 in our wasi-sdk fork
  • Ship patched nodejs with increased wasm limits to load large wasm shared libs
Edited by Cheng Shao

Merge request reports