ChangeLog
ChangeLog#
This is the list of changes applied to these lecture notes, with the most recent at the top.
06/05/2024: fixed an incorrect variable substitution in Converting a Hygge Expression into a List of ANF Definitions (case for “let”).
01/05/2024: clarified the total presentation time in the Oral Group Examination instructions.
25/04/2024: fixed a typo in Definition 29 (the conclusion of rule \(\ruleFmt{R-FieldSel-Res}\) was using \(R'\) instead of \(R\)).
18/04/2024: fixed a typo in Example 42 (wrong rule name).
11/04/2024: added missing reduction rule \(\ruleFmt{R-LetRec-Eval-Init}\) to Project Idea (Hard): Recursive Functions.
21/03/2024: fixed a typo in Example 42 (missing type for function argument \(x\)).
14/03/2024: clarified (and slightly simplified) the Project Idea (Hard): Recursive Functions, by requiring to only type-check recursive definitions of lambda terms.
07/03/2024: clarified the wording of the Standard Project Route to better convey that not all Project Ideas have to be implemented.
27/02/2024: fixed typos in semantic rules \(\ruleFmt{R-Par-Eval}\), \(\ruleFmt{R-Curly-Eval}\), and \(\ruleFmt{R-Seq-Eval}\) (Definition 4). (Note: the typos were only in the lecture notes; the implementation of those rules in the
hyggec
interpreter was correct.)22/02/2024: additions to Module 3: Hands-On with hyggec:
21/02/2024: published all remaining materials (from Module 5: Mutability and Loops to Module 13: Exam Q&A and Lab Day) and the module dependencies diagram (Fig. 1).
25/01/2024: published Module 0: Overview of the Course and Assessment, Module 1: Introduction to RISC-V, Module 2: The Hygge0 Language Specification, Module 3: Hands-On with hyggec, Module 4: Lab Day.