Inside the beast: GHC’s intermediate lambda language
- 👤 Speaker: Prof Simon Peyton Jones, Microsoft Research Cambridge
- 📅 Date & Time: Tuesday 01 March 2016, 19:45 - 20:45
- 📍 Venue: Centre for Mathematical Sciences, Meeting Room 5 (centre building, basement)
Abstract
GHC translates all of Haskell into a tiny intermediate language called Core, does a lot of optimisations on Core, and then generates executable code. In this talk I’ll take you on a journey into Core, with several goals. First, if you ever do performance-debugging of a Haskell program you may well find yourself staring at Core dumps to understand the program that the computer is executing (it may look nothing like the one you wrote!). Second, one way to extend GHC is to write a Core-to-Core plugin to do some cool optimisation or transformation that you want; and you can only do that if you understand Core.
Lastly, even if you want to do none of these things, I think you may enjoy the adventure. Core is a tiny but super-expressive language that can express all of Haskell, including all the types, and more beside. It pulls off this trick by drawing directly on System F, a mathematical calculus from type theory. Functional programming is amazing: serious theory leads directly to beautiful implementations.
Series This talk is part of the Cambridge University Computing and Technology Society (CUCaTS) series.
Included in Lists
- All CMS events
- bld31
- Cambridge Centre for Data-Driven Discovery (C2D3)
- Cambridge talks
- Cambridge University Computing and Technology Society (CUCaTS)
- Centre for Mathematical Sciences, Meeting Room 5 (centre building, basement)
- Chris Davis' list
- custom
- Featured lists
- Featured talks
- Guy Emerson's list
- Interested Talks
- ndk22's list
- ob366-ai4er
- rp587
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)

Prof Simon Peyton Jones, Microsoft Research Cambridge
Tuesday 01 March 2016, 19:45-20:45