Intermediate Languages for Optimization
Luke Maurer
Committee: Zena Ariola (chair), Michal Young, Boyana Norris
Area Exam(Dec 2015)
Keywords: compilers, languages, lambda-calculus, sequent calculus, CPS, SSA, Haskell

Compilers use many different intermediate languages (ILs) for optimizing code. The best IL depends on the source and target languages, the compilation phase, and which optimizations are to be performed. We explore several common ILs, including static single-assignment (SSA) form and continuation-passing style (CPS), and present a new language being implemented for the Glasgow Haskell Compiler (GHC) that is both lightweight and powerful.