术语表

implementation

编译器

Note

CommonLisp 相关的书籍的汉译版本均将其翻译为“实现”。在牛津词典中可以查到 implementation 。然而, 在中文里“实现”有两种词性,动词和名词,出现在译文中很容易让人摸不到头脑。原文中是指根据 lisp 理论开发出的编译器, 这些编译器实现了对 lisp 语言开发程序的支持,又因为在 lisp 发展的中间阶段缺乏统一的标准,同样遵循 lisp 理论,但是 却形成了不同的 lisp 方言。因而 lisp 有 Scheme 、 CommonLisp 、 ulisp 、Autolisp(即vlisp)等。同时同一种 lisp 也有不同的编译器,比如对于 CommonLisp 来说,有 CMUCL 、 SBCL 、 Lispworks 、 Ecl 、 ALLEGROCL 、 CLOZURECL 、 CLISP , ABCL , MKCL 等。这些也就是常说的“ CommonLisp implementation ”。 翻译成编译器对于读者来说会更一目了然,易于理解。

indefinite extent

不限定范围

Note

indefinite 无限期的; 期限不定的; 模糊不清的; 不明确的。 extent 程度; 限度; 大小; 面积; 范围。 indefinite extent 直译可以是“无限范围; 不限定范围; 不明确范围”。翻译成“不限定范围”更贴合语境。

unwanted capture

不想要的捕捉

Note

unwanted capture 可以直译为“不想要的捕捉; 不需要的捕捉; 异常捕捉”(捕捉也可以译为捕获)。 虽然“异常捕捉”是专业术语。然而对于 CommonLisp 的宏来说, 利用自由变量以及特定的回指并不是“异常的”, 也不会有报错。翻译成“不想要的捕捉”对于读者来说,脑海中更有意象。

predicate

谓词

Note

predicate 有断言、谓词的意思。一般的读者听到谓词会不知所云, 然而稍微检索一下, 就知道在语言文法中, 谓词就是指的 有判断意思的逻辑词。

transparent specification

易读的具体说明

Note

transparent 透明的;清澈的;易识破的;易看穿的;显而易见的;易懂的 specification 规格;规范;明细单;说明书 transparent specification 直译为”透明规范”。然而, 原文中这样翻译“易读的具体说明”更合适。 indefinite 无限期的; 期限不定的; 模糊不清的; 不明确的。

form

形式体

Note

form 形式;结构;表单。出现在原文中高频的有“let form” 。虽然确实是一个列表。但是翻译成“表单”,总是有点含混不清。翻译成“形式”, 也是缺点意思。“形式体”就能比较好的指代那部分代码。其他地方的 form 也一样。翻译成“结构”的话,有地方会有歧义。

body

代码主体

Note

body 身体;主体;主要部分。这是个文中出现的高频词汇。如果只是翻译成“主体”,也有点令读者难以理解。

fixnum

固定数字

Note

fixnum 有时是一种类型。有时指的计算机内存结构

lispy

lisp 化

Note

指的是 lisp 风格化的内容

duality-of-syntax

语法二义性

Note

根据语境执行不同

indirection

间接

Note

传递引用

pointer scope

指针作用域

Note

指针影响范围

dereference

间接引用

Note

传递引用

slot

槽

Note

Lisp 中结构体元素被称为“槽”, slot.

anaphor


回指语

Note

Lisp 中结构体元素被称为“槽”, slot.

destructuring

解构

Note

Lisp 中数据块解析为树结构,并且用符号命名其中部分,从而建立对该部分的引用。