Please log in to watch this conference skillscast.
In this talk, you will explore the basic operation of the main optimisations that GHC performs, what users should expect from the compiler and what options they have to control how the optimiser behaves. We will focus on core-to-core passes such as inlining, specialisation, SpecConstr, SAT and so on.
The aim of this talk is to make you think more carefully about how the compiler optimises their code. There will be lots of examples of real world code and toy examples which demonstrate how specific passes work. Ultimately by users better understanding the optimisation pipeline, I hope that library writers experience can feed back into making GHC better optimise modern Haskell code.
YOU MAY ALSO LIKE:
- Gazing into the Void: Understanding Space (Leaks) (SkillsCast recorded in October 2019)
- FP in Kotlin with Arrow with Jorge Castillo (Online Course on 24th - 27th May 2021)
- Haskell Fundamentals (2-Day Course) with Alejandro Serrano (Online Course on 5th - 6th July 2021)
- F# eXchange 2021 (Online Conference on 20th - 21st October 2021)
- Haskell eXchange 2021 (Online Conference on 16th - 17th November 2021)
- Theorems for Free (SkillsCast recorded in November 2020)
- Comparing Strict and Lazy (SkillsCast recorded in November 2020)
A Look Inside GHC's Optimiser
Matthew is a PhD student at the University of Bristol and one of the core GHC contributors. His research interests are in program generation and multi-stage programming.