LISP中的列表符号和S表达式

时间:2019-02-02 15:09:02

标签: lisp

我试图学习1S-expressions的概念。我遇到以下问题:

  

举一个Lisp的例子,它不能是   用列表符号表示。

S-expression是什么意思?我了解list notation的好主意,但是有可能创建一个{ 用列表符号表示?如果是这样,我能说出代表它的二叉树吗?

1 个答案:

答案 0 :(得分:4)

在这种情况下,对于线性链,我会理解列表符号点对符号的缩写:列表符号{{1} }表示为虚线对(a b c)

这意味着不能将任何表示为嵌套列表的内容都符合描述:不正确的列表(即,最后一个(a . (b . (c . nil)))不是cdr)或循环列表。

不正确的列表示例:nil。最右边的叶子不是(a b c . d)

循环列表:nil。图中有一个循环。