Course notes
- Part I: semantics of a functional language [ .pdf ]
Schedule
Date | Room | Topic | Files |
---|---|---|---|
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 | |
15/10 | E212/E203 | Compilation of a functional language | |
22/10 | E212/E203 | Dynamic memory allocation | |
??/11 | TBA | Project presentation and oral exam |
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.