我们在去年开设了使用 MoonBit 教学的现代编程思想课程,课程已全部完结并上线,现在,我们计划将在《现代编程思想》课程基础上开设一门新的进阶课程:程序语言理论设计与实现, 这门课的主题将围绕 Mini Moonbit in MoonBit 展开,将 MoonBit 的一个子集作为教学案例,抽丝剥茧,介绍如何设计和实现一个现代编程语言。
Date | Topic | Slides | Video | Example code | Recommended reading |
---|---|---|---|---|---|
Part 0 | Introduction to language design and implementation | lec0 | 课时一(上)、课时一(下) | ||
Part 1 | MoonBit crash course | lec1 | 课时二 | ||
Part 2 | Parsing | lec2 | 课时三 | lec2.mbt | |
Part 3 | Type inferences | lec3 | 课时四 | ||
Part 4 | Bidrectional type checking | lec4 | 课时五 | ||
Part 5 | IR designs (ANF, CPS, KNF) | lec5 | 课时六 | lec5.mbt | |
Part 6 | Closure calculus | lec6 | 课时七 | ||
Part 7 | Register allocation | lec7 | 课时八 | ||
Part 8 | Garbage collection | 课时九(上)、课时九(下) |