S-expressions,是 symbolic expressions的缩写, 也叫做 sexprs, 代表 nested list , 它是由编程语言Lisp创造并推广的,Lisp将它们用作源代码和数据。在Lisp罕用的圆括号语法中,s表达式通常被定义为

  1. 是 atom, 或者是
  2. 是(x . y)这种模式,其中x和y也是一个exporession(递归定义)

ps: atom的定义,即同时满足非pair数据, 非空数据

(define atom? (lambda (x)(and (not (pair? x)) (not (null? x)))))