术语表

implementation

编译器

Note

CommonLisp 相关的书籍的汉译版本均将其翻译为“实现”。在牛津词典中可以查到 implementation 。然而, 在中文里“实现”有两种词性,动词和名词,出现在译文中很容易让人摸不到头脑。原文中是指根据 lisp 理论开发出的编译器, 这些编译器实现了对 lisp 语言开发程序的支持,又因为在 lisp 发展的中间阶段缺乏统一的标准,同样遵循 lisp 理论,但是 却形成了不同的 lisp 方言。因而 lisp 有 SchemeCommonLispulisp 、Autolisp(即vlisp)等。同时同一种 lisp 也有不同的编译器,比如对于 CommonLisp 来说,有 CMUCLSBCLLispworksEclALLEGROCLCLOZURECLCLISP , 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 中数据块解析为树结构,并且用符号命名其中部分,从而建立对该部分的引用。