随笔分类 - 程序语言设计
SICP 题解(现至第三章)
摘要:耗时一个月,全部独立完成,部分比较简单的题目没用给出题解。一般只给出代码,比较难或者有趣的题目会给出分析。 使用 DrRacket 的语言库 #lang sicp 作为解释器,除了部分难以给出题设环境的、涉及语言具体实现的、和使用一些省略(....)的题解,一般都是可以运行的。 Building A
Natural Number Game
摘要:因为用 Verilog 会有颜色显示,所以用的 Verilog。 记录一下 Natural Number Game 的答案,好久以前做的,但没做完。 Tutorial world lemma example1 (x y z : myna
类型系统与程序语言——无类型系统
摘要:无类型系统 本节为其他章节作引。 无类型算数表达式 一门语言需要语法、语义、语用来构成。现在以无类型算数表达式这个非常简单的语言开始探讨,我们将明确它的语法和语义来充分了解这门语言。 语法 无类型算数表达式语言的语法中只包含 $true, false, 0, \operatorname{succ},
类型系统与程序语言——子类型和递归类型
摘要:前一篇类型系统与程序语言——简单类型 子类型和递归类型 子类型 Subtyping 定义 如果没有子类型,那么 在语法上是无法判断出类型的,因为形参和实参的类型不匹配。为
类型系统与程序语言——简单类型
摘要:简单类型 经过上一篇类型系统与程序语言——无类型系统的学习,已经对 Lambda 表达式初窥门径,但在使用时却会产生一些问题,比如可能产生 stuck 语句。上一章定义链表时用到了许多参数,但是如果不知道上下文,很难直接了解每个参数的含义。这时候一个类型系统就可以帮助我们规避这种错误和麻烦。 基本上