Course notes
- Part I: semantics of a functional language [ .pdf ]
Schedule
Date | Room | Topic |
---|---|---|
10/09 | E203 | Caml reinforcement: basics [ intro.ml ] |
13/09 | E203 | Caml reinforcement: trees [ imp.ml | trees.ml ] |
17/09 | E212/E203 | Semantics of a functional language |
20/09 | - | CANCELLED |
24/09 | E212/E203 | Types, polymorphism, inference [ typecheck.ml | inference.ml ] |
01/10 | E212/E203 | Assembly programming [ MiniML interpreter ] |
08/10 | E212/E203 | Program analysis and register allocation [ Optimizing Imp compiler ] |
15/10 | E212/E203 | Compilation of a functional language |
22/10 | E212/E203 | Dynamic memory allocation [ MiniML compiler ] |
??/11 | TBA | Project presentation and oral exam [ updated instructions | updated impc | updated minimlc ] |
Documents and links
Ocaml
- You may find many resources at ocaml.org
- Conchon et Filliâtre, Apprendre à programmer avec OCaml. Algorithmes et structures de données. (book)
MIPS
Books on compilers and related topics
- Aho, Lam, Sethi et Ullman, Modern Compilers: Principles, Techniques, and Tools.
A.k.a. the dragonbook.
Traduit en français (Compilateurs : principes, techniques et outils). - Pierce, Types and Programming Languages.
- Bryant et O'Hallaron, Computer Systems: A Programmer's Perspective.
- Nisam et Schocken, The Elements of Computing Systems: Building a Modern Computer from First Principles.
- Appel, Modern Compiler Implementation in ML.