术语

A

Alias 别名

alias 是一类定义,可以出现在其他定义可以出现的任何位置。它用于将绑定从一个标识符转移到另一个标识符。

Anonymous 匿名的

通常与具名的(named相对。

Annotation 注解

参考了 Java 语言中关于 annotation 的译法(见Java注解

B

Binding 绑定

本应译为“约束”,但考虑到大多数人的习惯,故译为“绑定”,而且两者发音很像。

Bool/Boolean 布尔 布尔的 布尔值

继承自 R5RS 中译版的译法。

Body 主体,语句体

Built-in 内置(的)

C

Continuation 【不翻译】

可以理解为 “the state of remaining in a particular position or condition”。

Compile-time 编译期

发生在“运行时(run-time)”之前的一个过程。考虑到“编译期函数”比“编译时函数”更加顺口,因而采用了编译的译法。

Compile-time value 编译期值

Compile-time property 编译期属性

clause 子句

参考wikipedia 对于clause的解释

condition 状态

参考 MIT Scheme 文档 ,一般是指异常状态

D

Default 默认的

E

Enumeration 枚举

Enumeration set 枚举集

enter(ed) 键入

明确指出是由用户通过打字(type)敲入到计算机的,用来与 importinput 或其它可能会被翻译为“输入”的术语相对。

Evaluate 求值

Evaluator 求值器

Expand Expansion 展开

宏的展开,区别于 extend(扩展),后者通常指扩展一个环境。

Expander (宏的)展开器

Expand-time 展开期

F

Fender 防护板

Chez Scheme extends syntax-rules to permit clause to include fenders just like those allowed within syntax-case clauses.

Field 数据成员

Field, A data member of a class. Unless specified otherwise, a field is not static.

Fixnum 定长数 固定数

A fixnum is an exact integer that is small enough to fit in a machine word.
具体的讨论请参见:term modification request: parameter fixnum

Form 形式 特殊形式 语法形式

R6RS 的定义,form 是 Scheme 程序中句法部分的一个通用名字。为区别一般的“形式”,故译为“语法形式”。
详细讨论:术语讨论:syntax、form、body

G

Guardian 守卫者

Guardians allow programs to protect objects from deallocation by the garbage collector and to determine when the objects would otherwise have been deallocated.

I

Immutable 不可变的

Inspect/Inspection 审查

不翻译为“检查”,是为了跟 check 有所区别;

Inspector 审查器

M

Mutually recursion/recursive 互递归、互递归的

函数 f(x) 的定义依赖于 g(x) 的定义,后者又依赖于 f(x) 的定义。这种依赖关系可以扩展到多个函数键的互递归关系。采用互递归而非互相递归是参考了“互引用”以及“互斥”等常见说法。

N

Named 具名的 命名的

通常与匿名的(anonymous相对。

Named module 具名模块

Namespace 名字空间

一组通常由关键字名、变量名和模块名等标识符构成的数据聚合;一种习惯的译法是“命名空间”,但这更像是“named space”的译名。

Native 原生的

在计算领域,如果软件或数据格式对一个系统是 native 的,那就是说该系统可以以最小的计算开销或额外组件支持它 — 维基百科。
考虑到大多数人的习惯,故译为“原生的”。

P

Parameter 参数对象 行为界限

  • 所有的 Chez Scheme 系统都可以通过参数对象(parameter)来完成定制;
  • 参数对象是一种过程,它封装了一个隐含的状态变量;
  • 当无参调用该过程时,参数对象会返会所封装变量的值;
  • 当以单个参数调用该过程时,参数对象将该状态变量修改为该实参的值;
  • 如果传入的参数不当,该过程可能会抛出异常,也可能以某种方式过滤此参数。
    详细讨论:term modification request: parameter fixnum

Procedure 过程

根据Lisp传统,函数一般被称为过程。对初学者来说可以简单的将其理解为函数,或方法。

Profile 性能分析

Port 端口

Scheme 中用来表示输入/输出设备的对象。继承自 R5RS 中译版的译法。

R

R5RS 《Scheme语言修订5报告》
R6RS 《Scheme语言修订6报告》

完整的名字应该是 Revised6 Report on the Algorithmic Language Scheme,即《算法语言Scheme修订6报告》,但为了简洁起见,推荐翻译为《Scheme语言修订6报告》。
在 markdown 文件中应该以这样书写:《Scheme语言修订<sup>6</sup>报告》

Reader 读取器

Record 记录

一种复合数据结构,可以认为是结构体的别称。

Record-type 记录类型

Routine 子程序 例程 过程

  • routine 一词,有“一套(相互联系的)动作”的含义(例如 a dance/skating routine)。
  • 在原文“the programmer can manipulate them directly via a set of routines for creating and accessing annotations”. 中,routine 一词更能体现出“有一组 set/get 过程用于操作 annotation”这种意味。
  • 从这个角度上来说,相比于简单地翻译为”子程序“或者”过程“,routine 一词自身的含义更加深刻。
  • 在不需要严谨区别 routine 含义的场合,推荐将其简单地翻译为“过程”。

S

Scope 作用域

标识符的可见范围。

Self-recursion/recursive 自递归、自递归的

Shadowed 遮蔽

(let ((a 1))
  (let ((a 2))
    (display a)))
; => 2

最内层 a 的绑定,遮蔽了最外层同名变量 a 的绑定。遮蔽一词,对语法关键字也适用。

Shared object 动态链接库

Unix体系内的shared object (共享对象)统一翻译为更好理解的动态链接库,从而不与Windows的dynamic linking library加以区分。

Syntax 语法 句法

关于 syntax 和 grammar 的不同,可以参考这篇文章
考虑到俗成的翻译约定,故依然采取“语法”的译法。
详细讨论:术语讨论:syntax、form、body

T

Top-level 顶层

The Scheme Programming Language, 4th Edition 《Scheme 程序设计语言(第4版)》

Transformer 转换器

语法关键字对应的语义对象。它是一个句法域上的函数,即接受一个句法形式,返回一个新的句法形式。

trace 跟踪

W

wrapper 包装(语法)、包装(过程)

需要根据 wrapper 出现的上下文来判断。

results matching ""

    No results matching ""