Scheme中的原子是什么?

ms.*_*ura 11 scheme

有人可以解释或链接我任何有用的资源(我在谷歌找不到任何线程),这可以帮助我理解原子是什么.

Ósc*_*pez 14

在谷歌搜索"计划中的原子是什么?" 产生这个链接.特别是,根据链接,这些是原子:

  • 数字
  • 字符串
  • 符号
  • 布尔
  • 人物

通常,所有不是一对或null的都是原子.最好用以下程序表达,取自The Little Schemer一书:

(define atom?
  (lambda (x)
    (and (not (pair? x)) (not (null? x)))))
Run Code Online (Sandbox Code Playgroud)

  • “原子”不是一个非常有用的概念。向量会是原子吗?我认为它不是,因为它可以包含其他“原子”,就像一对一样。然后是记录类型,即SRFI-4向量(u8向量非常接近字符串,但从概念上讲仍然由数字组成,它们是“原子”)等。在Little Schemer的上下文中,这是有意义的,因为它仅涉及自身带有符号,列表和过程对象(但非常间接)。 (2认同)