实现

学习一门语言就尝试写他的实现,本计划尝试从零实现各种语言特性。
编译器,解释器,即时编译(JIT)
parser、连接器、汇编器、

parser:Parser Combinators

范式

命令式
面向对象
函数式

风格

CPS
monad
point free
currying

特性feature

repl
gc
JIT

指针

管道

作用域(变量)

流程控制

goto
continuation(CPST

类型系统

动态类型
静态类型

lambda
macro(Hygienic macro)

函数调用

传名调用
传值调用
引用调用
地址调用

closure(closure conversion,closure优化
Lambda lifting

尾递归优化(tail-call optimization)

scheme专用

read宏
match宏

可能的缺陷

词法问题:程序被词法分析器分解成符号过程中可能出现的错误
语法结构可能出现的偏差
语义与初衷出现偏差
可移植性问题

reference

build your own lisp
C陷阱与缺陷