moonbitlang/minimoonbit-public

MoonBit

60

83 commits

updated Jun 5, 2025

See the code

README

MiniMoonBit

我们在去年开设了使用 MoonBit 教学的现代编程思想课程,课程已全部完结并上线,现在,我们计划将在《现代编程思想》课程基础上开设一门新的进阶课程:程序语言理论设计与实现, 这门课的主题将围绕 Mini Moonbit in MoonBit 展开,将 MoonBit 的一个子集作为教学案例,抽丝剥茧,介绍如何设计和实现一个现代编程语言。

课程安排

DateTopicSlidesVideoExample codeRecommended reading
Part 0Introduction to language design and implementationlec0课时一(上)课时一(下)
Part 1MoonBit crash courselec1课时二
Part 2Parsinglec2课时三lec2.mbt
Part 3Type inferenceslec3课时四
Part 4Bidrectional type checkinglec4课时五
Part 5IR designs (ANF, CPS, KNF)lec5课时六lec5.mbt
Part 6Closure calculuslec6课时七
Part 7Register allocationlec7课时八
Part 8Garbage collection课时九(上)课时九(下)

Contributors

lynzrand

39 commits

Young-Flash

15 commits

bobzhang

12 commits

moonbitlang/minimoonbit-public

MoonBit

60

83 commits

updated Jun 5, 2025

See the code

README

MiniMoonBit

我们在去年开设了使用 MoonBit 教学的现代编程思想课程,课程已全部完结并上线,现在,我们计划将在《现代编程思想》课程基础上开设一门新的进阶课程:程序语言理论设计与实现, 这门课的主题将围绕 Mini Moonbit in MoonBit 展开,将 MoonBit 的一个子集作为教学案例,抽丝剥茧,介绍如何设计和实现一个现代编程语言。

课程安排

DateTopicSlidesVideoExample codeRecommended reading
Part 0Introduction to language design and implementationlec0课时一(上)课时一(下)
Part 1MoonBit crash courselec1课时二
Part 2Parsinglec2课时三lec2.mbt
Part 3Type inferenceslec3课时四
Part 4Bidrectional type checkinglec4课时五
Part 5IR designs (ANF, CPS, KNF)lec5课时六lec5.mbt
Part 6Closure calculuslec6课时七
Part 7Register allocationlec7课时八
Part 8Garbage collection课时九(上)课时九(下)

Contributors

lynzrand

39 commits

Young-Flash

15 commits

bobzhang

12 commits

Languages

MoonBit

86.6%

JavaScript

4.1%

Zig

4.0%

ANTLR

2.7%

Dockerfile

2.1%