Advanced compiler construction seminar
Main course literature
Additional reading
Meetings
-
Monday 10 Nov 2008
Introduction.
-
Thursday 13 Nov 2008
Read PJ92 sec 1-3
Read MPJ06 sec 1-3
-
Monday 17 Nov 2008
Read PJ92 sec 4: Haskell to STG translation
Read MPJ06 sec 4: operational semantics
Skim PJ92 sec 5: operational semantics
Skim MPJ06 sec 5: implement push/enter
Read MPJ06 sec 6: implement eval/apply
-
Thursday 20 Nov 2008
Read PJ92 sec 6-8: jumps in C, heap layout,
Skim PJ92 sec 9: compilation to C
Read MPJ06 sec 7-8: results
-
Monday 24 Nov 2008
Read Boq99 chapter 1 (skip sec 1.3) (=16 pages)
Read Boq99 chapter 2 (=37 pages)
View EHC/src/ehc/GrinCode/AbsSyn.cag
Challenge: download the GHC sources and find the implementation of stgApplyNP. Hint: it is spelled stg_ap_
-
Thursday 27 Nov 2008
Read Boq99 chapter 3 (=13 pages)
Read Boq99 chapter 4 until page 88 (=12 pages)
Compare it to the paper describing the implementation as used in EHC
or directly view EHC/src/ehc/GrinCode/PointToAnalysis.cag
-
Monday 1 Dec 2008
Have another look at the material we studied before,
that is the Grin language, translating Lam into Grin,
and doing Heap-Points-To analysis on Grin code.
This time, let's try to really understand
what's happening when evaluating functions,
in particular what happens when applying functions (which may not be known)
to arguments (of which there may not be enough).
-
Thursday 4 Dec 2008
Read Boq99 chapter 4 until page 142 (=54 pages)
-
Monday 8 Dec 2008
Read the remainder of Boquist chaper 4 (20 more pages).
-
Thursday 11 Dec 2008
Read
Haskell Program Coverage
by Andy Gill and Colin Runciman, Haskell Workshop 2007.
-
Monday 15 Dec 2008
Read
Call-pattern specialisation for Haskell programs
by Simon Peyton Jones, ICFP 2007.
-
Thursday 18 Dec 2008
Two papers on JIT compilation
-
Monday 5 Jan 2008
Read
A definitional interpreter for higher-order programming languages by John Reynolds.
-
Thursday 8 Jan 2008
No session
-
Friday 9 Jan 2009
On this day is the
FP-dag 2009.
I think it is a good idea to register for attendance.