minimoonbit-public

MiniMoonBit

我们在去年开设了使用 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 Semantics analysis and type inferences        
Part 4 Bidrectional type checking        
Part 5 IR designs (ANF, CPS, KNF)        
Part 6 Closure calculus        
Part 7 Register allocation        
Part 8 Garbage collection