OVERVIEW
This is a course in study period 4 2010/11 aimed at Master level and doctoral students who are interested in learning more about techniques for compiling functional languages like Haskell, F# and Erlang. It is intended as a specialization on top of a Compiler Construction course like TDA282 or DIT300; i.e., a broad understanding of how an imperative language is translated into machine code will be assumed. Course focus will be on analysis and transformation techniques applicable after parsing but before low-level machine code generation, such as optimization by source-to-source translation and type inference. To abstract away from platform details, a subset of C will be used as a compilation target throughout the course.
CONTENTS
Abstract syntax representation of functional languages, desugaring, compilation of pattern-matching, Hindley-Milner type inference, translation of Haskell-style overloading, optimizing transformations, C representation of data and functions, efficient memory management, implementing partial application, lazy evaluation.
ORGANIZATION
Seven lectures comprising the core of the course topics (three lectures each of week 12 and 15, one lecture week 19). A lab project to be carried out individually, consisting of a common core plus elective add-on assignments. One or two research paper presentations by each student in week 19, depending on enrollment.
LITERATURE
List of research papers announced at course start. Parts of the course will be covered by
The Implementation of Functional Programming Languages
Simon Peyton Jones
Prentice Hall, 1987.
<
http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/>
EXAMINATION
Oral lab project demonstration together with a written lab report. Successful presentation of assigned research papers as well as participation in all scheduled presentations as announced mid-course.
LECTURER
Johan Nordlander <
johan.no...@ltu.se>
If you are interested in attending the course or want more information, reply directly to Johan._______________________________________________
FP mailing list
F...@lists.chalmers.se
https://lists.chalmers.se/mailman/listinfo/fp