The Haskell Implementors’ Workshop, or HIW to those in-the-know, is an annual one-day event, organized as part of the International Conference on Functional Programming. People across the Haskell community come together to discuss a wide variety of issues, such as integrating projects like Liquid Haskell or GHCJS with GHC, extending GHC’s plugin API to enable custom error reporting, or indeed making GHC smaller by implementing features such as deriving as a library instead. In episode 11 of the Haskell Unfolder we previously talked about ICFP, including a HIW talk about a GHC plugin for setting breakpoints.

Well-Typed was of course present at HIW, and in this brief blog post we will take a look at the presentations we gave or were involved in.

The first talk of the day, as is tradition, was the GHC status report, presented by Simon Peyton-Jones and assisted by Ben Gamari, representing the GHC team at Well-Typed. The GHC status report is a summary of everything that has happened in GHC-land that year, as well as a look towards the future.

HIW’23: GHC status report

Finley gave a talk on the work he’s been doing on improving info-table profiling (see A First Look at Info Table Profiling for an introduction to info-table profiling and why it is useful):

HIW’23: Advancements in info table profiling

Edsko talked about the need for non-updateable thunks, presenting dupIO, which offers a solution—perhaps calling it a work-around would be more accurate–for the conduit sharing problem:

HIW’23: Severing ties: the need for non-updateable thunks

Finally, Ben sketched a design for execution domains, which would effectively enable running multiple Haskell “programs” (aka “domains”) as a single operating system process, able to share memory but, crucially, not sharing a garbage collector:

HIW’23: Execution domains in GHC/Haskell

These talks represent a small sample of the kind of GHC work we do at Well-Typed; if you are interested in sponsoring some of this work, or more bespoke work (on GHC, related infrastructure such as Cabal and HLS, or indeed assistance with your own code base) do not hesitate to get in touch with us at