This month we worked on adapting code from GHCJS to merge into GHC head. We also started discussing the implementation process publicly and especially with our colleagues at Well-Typed.
- Ticket about adapting GHCJS’ code into a proper JS backend for GHC has been opened [#21078]. Feedback was very positive!
- There were discussions about the process and an agreement to target GHC 9.6 release [email on ghc-devs, wiki page]
RuntimeRepto represent these values for Haskell codes interacting with JS codes via FFI. We opened !7577 into which we tried to make this new
RuntimeRepnon JS specific so that it could be reused for future backends targeting other managed platforms (e.g. CLR, JVM). It triggered a lot of discussions summarized in #21142.
- GHC doesn’t use any lens library, hence to port the code generator we had to replace lenses with usual record accessors. It turned out that
casealternatives in STG lacked them because they were represented with a triple. We took the opportunity to introduce a proper record type for them !7652
Plutus-apps JS demo
- we wrote a blog post about the work we have done in 2021 as it wasn’t covered anywhere else: https://engineering.iog.io/2022-03-01-2021-ghc-update