理解 Lambda 演算之抽象、规约和替换

2024-11-10

本文以程序员视角解释了 Lambda 演算的核心概念,包括抽象(函数定义)、应用(函数调用)、柯里化(多参数函数处理)、规约(求值过程)、替换(变量重命名)以及等价性等。作者以通俗易懂的语言和示例,阐明了 α-、β- 和 η- 规约/替换/等价的区别,并解释了如何运用这些概念理解 Lambda 表达式。

阅读更多
14
未分类 编程语言理论

我要我的滚动条回来(2分钟读物)

2024-07-12

作者 Artyom Bologov 是一位阅读爱好者,但注意力容易分散,因此依赖滚动条来判断文章长度,以便分配阅读时间。然而,由于动态加载内容的流行,滚动条不再可靠地反映文章长度,这给作者带来了困扰。作者呼吁网站开发者将内容预加载到页面中,或者提供“预计阅读时间”等替代指标,以方便读者快速了解文章长度。

阅读更多
36

Common Lisp 不止一种语言,而是一系列语言

2024-05-23

文章驳斥了“Common Lisp 是一种单一语言”的观点,并列举了 Common Lisp 中包含的多种“语言”,包括:核心 Scheme 风格的 Common Lisp、CLOS、泛型、loop 宏、Clojure 和 Scheme?!、format 字符串等。作者认为,这些子语言的存在使得 Common Lisp 成为一个丰富的生态系统,但也导致了理解和评价 Common Lisp 的困难。

阅读更多
39
未分类