0

シンプルなスキーマ インタープリタを実装する本「The little schemer - 4th edition」の第 10 章を読んでいます。:atom?188ページの機能を除いて、他のすべてのコンテンツは問題ありません。

(define :atom?
  (lambda (x)
    (cond
      ((atom? x) #t)
      ((null? x) #f)
      ((eq? (car x) (quote primitive)) #t)
      ((eq? (car x) (quote non-primitive) #t)
      (else #f)))))

私はこの行について明確ではありません:

((eq? (car x) (quote non-primitive) #t)

本の前から、non-primitiveはラムダ定義に対応しています。

(lambda (x) (+ x 1))

次の値を持ちます (環境を渡しますtable):

(non-primitive (table (x) (+ x 1)))

これは、本の中でラムダ定義が , であることを意味しますatomか?

そうだと思いますが、本に記載されている関係を見つけることができないので、よくわかりません.

4

1 に答える 1