FUNKTIONELLA SPRAK 10p. (John och Thomas) Compilation: Hindley-Milner type inferens, unification, Type inference with type classes? graph reduction of lambda expressions Supercombinators and lambda lifting Other front-end transformations (eg patternmatching) The G-machine, and other abstract machines Implementing the G-machine on hardware Storage management and garbage collection Runtime behaviour of graph reduction programs: profiling Abstract interpretation Principles, deriving analyses from semantics strictness analysis as an example One other example - eg escape analysis Program transformation: The Fold-unfold method Standard transformations: tupling, fusion, generalisation, CPS conversion Algorithms for program transformation: listlessness and Deforestation transforming to first-order form Partial evaluation (self-application? compiler generation?)