For this Thursday's Matter, Cheng Shao will reveal the lesser known secrets of the GHC Garbage Collector.
Thursday's Matter is a virtual meetup on the topics that truly matter to today's developers.
Join us every Thursday at 16:00 UTC when we'll be joined by an expert from around the globe. Each week we'll explore topics such as functional languages, mobile development, agile methodologies and machine learning.
THE FORMAT A 40-minute expert talk followed by a Q&A session
Garbage collectors are an important component in today's language runtimes which liberate developers from the need to track allocations of small objects.
Engineering an efficient garbage collector is hard, especially for a feature-rich language like Haskell, and there are plenty of tradeoffs involved along the way. Today's GHC runtime contains an advanced garbage collector implementation which has different collection strategies and supports shared-memory parallelism.
In this talk, Cheng explores the GHC garbage collector, introduce some basic ideas behind garbage collection, and also cover some interesting implementation details. The talk is presented with these questions in mind: how is memory allocated and reclaimed in compiled Haskell programs? How do the language features influence the garbage collector's design? And how can Haskell developers write more efficient programs which play well with the garbage collector? If these questions once showed up in your mind when working with Haskell, then this talk is for you!
Cheng is a Software Engineer who specializes in the implementation of functional programming languages, and he is also the project lead on Tweag’s Haskell-to-WebAssembly compiler project named Asterius. Before joining Tweag, Shao got his Bachelor's in Computer Science from Tsinghua University, and in his spare time can be found exploring Paris, listening to classical music, and watching anime