乐趣区

关于函数式编程:什么是Sexpression

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)))))
退出移动版