关于 本文是系列文章中的第六篇,在上一篇中,我们介绍了动态作用域,并进行了相关名词的解释。我们解释了什么是环境,什么是帧,如何在一个环境中对表达...
关于 本文是系列文章中的第六篇,在上一篇中,我们介绍了动态作用域,并进行了相关名词的解释。我们解释了什么是环境,什么是帧,如何在一个环境中对表达...
关于 本文是系列文章中的第五篇,在上一篇中,我们介绍了编译器和解释器,抽象语法树与S表达式的关系,并且我们还打算写一个极简的元循环解释器。通过写...
关于 本文是系列文章中的第七篇,在上一篇中,我们对比了动态作用域和词法作用域,并实现了一个支持词法作用域的Lisp方言。 我们看到,动态作用域和...
关于 本文借用Haskell介绍了自定义类型,带参数的类型,Ad-hoc多态性,kind,其中,带参数的类型在类型上可以做“柯里化”。 1. 自...
1. 形式化方法 在计算机科学中,尤其在软件工程和硬件工程领域,形式化方法(Formal method),是一种数学方法,用于软件和硬件系统的描...
按照故事情节的正常发展,我们这一篇该介绍Racket语言的语法了。可是,在大局观上,我们还没有达成共识。对于一个概念来说,我们不止要学会怎样描述...
关于 本文是系列文章中的第八篇,在上一篇中,我们介绍了continuation的概念,还介绍了Lisp中威力强大的call/cc,它提供了fir...
语言的作用 语言的作用是为了交流想法,描述概念,当前使用了什么语言,取决于我们有什么样的需要。 为了理解词法作用域,闭包,和continuati...
关于 本文是系列文章中的第九篇,上文第二~八篇中,我们学习了Racket语言,它很有代表性,是一种Lisp方言。很多概念用Racket描述会更加...
The limits of your languages are the limits of your world.只会一种语言,会限制你的视野...
专题公告
程序设计语言