Minimal Visual Pedagogical Interpreter (2020)MVP解释器是一个基于代入消元法(substitution)的教学编程语言解释器。目的是为不熟悉该概念的学生直观地演示编程语言的小步操作语义(small-step operation semantics)。该项目支持单步向前/向后执行程序,并在每一步都可视化语法树。Web AppGithubElm函数式编程Javascript编程语言Web
OCaml路径追踪器 (2020)Ocamlpt是一个基于OCaml语言的路径追踪器。它是我在Youtube上现场直播编程的产物。它基于Peter Shirley的Ray Tracing in One Weekend图书系列。Github函数式编程图形学OCaml光线追踪
Embedded ML (2018)Embedded ML是一个基于C++的脚本语言。与一般的脚本语言不同,Embedded ML是静态类型的。 这个项目包含了一个该语言的字节码编译器以及一个虚拟机。GithubC++编程语言函数式编程
Elm黑白棋 (2018-2019)Reversi-Elm是一个用Elm语言写的基于浏览器的黑白棋游戏实现。 它支持单机双人游戏、人机对战、以及AI对战AI模拟。 该游戏的AI实现基于极小化极大算法(minimax)以及Alpha-beta剪枝, 以及一个基于棋子个数、各棋子位置、以及行动力(玩家可选的合法行动数)的评价函数(evaluation function)。Web AppGithubAIElm游戏Web函数式编程