我使用的助记符是:
CAR - 复制 Alpha 位置并返回
CDR - 复制树突(树部分 - 没有根)并返回
我最近又开始尝试 Lisp,但希望这适合。
我倾向于将列表的开头视为 alpha 或根位置。
如果第一个位置是根,并且我习惯于看到二叉树(可以表示为列表),那么与树相关的单词似乎是有序的。Dendrite 有正确的开头字母,似乎很合适。它表示没有根的树的最后一个。
另一个观点来自罗伯特史密斯:
CAR - “细胞的前部区域”
CDR - “细胞的背侧区域”
“我们可以得到细胞的第二部分。让我们称这部分为背侧区域(为什么不后侧?背侧的含义对列表更有意义,因为列表 [1,2,3] 的背侧区域是部分“接近尾声”,[2,3],而后面的只是 3)。
来自 Lisp 的括号太多……(……或者他们是这么说的!) 作者:Robert Smith,2010 年 11 月 7 日
符号学
我知道这与最初的首字母缩略词无关,但即使是 Steve Russell 也说过:
“由于不幸的灵感暂时失效,我们想不出除了“地址”和“减量”之外的任何其他名称的列表节点中的两个指针,因此我们将函数称为“寄存器地址内容”的函数 CAR和 CDR 为“寄存器递减的内容”。
几个月后,在 LISP 上上了几节课后,我们意识到“first”和“rest”是更好的名字,我们(John McCarthy、我和 AI 项目的其他一些人)试图让人们改用它们.
唉,为时已晚!我们根本无法让它坚持下去。所以我们有 CAR 和 CDR。”
LISP中CAR和CDR的由来