# labs-cs3520 **Repository Path**: phreezing/plai_labs ## Basic Information - **Project Name**: labs-cs3520 - **Description**: interpreters from cs3520 and PLAI 2nd - **Primary Language**: Racket - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-26 - **Last Updated**: 2024-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: Compiler ## README plai-labs =========== README text here. A few interpreters from the Book Programming Language: Application and interpretation 2nd 1. arith.rkt : 简单的算术语言 2. fun.rkt : 算术语言加上函数定义以及函数应用 3. let.rkt : fun.rkt 加上let表达式,虽然引入了let表达式但是还是使用代换模型来实现求值 4. env.rkt : let.rkt 把代换模型换成了env 5. lambda.rkt : 在env.rkt上引入了lambda表达式 6. box.rkt : 实现了可变数据结构box,但是利用的是plait原本的box 7. state.rkt : 实现了可变数据结构box,引入了新的Storage模型 8. record.rkt : 实现了函数式的record,类似于其他语言的struct 9. variable.rkt : 引入了变量,但这东西表达力和box其实是差不多的 10. lc.rkt : 简单的lambda calculus,把let关键字desugar成lambda来作为encoding的教学