拉特?Scheme中的原始函数?

Dav*_*ked 4 scheme the-little-schemer

假设l定义如下:

> (define l (list 1 2 3))
Run Code Online (Sandbox Code Playgroud)

l现在绑定到原子列表.

Little Schemer引入了一个名为lat的简单函数?它根据参数的分类作为原子列表来计算#t或#f.例如,

> (lat? l)
Run Code Online (Sandbox Code Playgroud)

应该评估为#t,因为l是三个原子的列表.

但是,我的方案解释器(repl.it)在被要求调用lat时会抛出错误?

> (lat? l)
Error: execute: unbound symbol: "lat" []
Run Code Online (Sandbox Code Playgroud)

假设lat我错了吗?Scheme是原始的吗?

另外,请原谅重新发布的情况.

Nat*_*hes 9

LAT?在本书的早期定义.见第19页.

(define lat?
(lambda (l)
  (cond
    ((null? l) #t)
    ((atom? (car l)) (lat? (cdr l)))
    (else #f))))
Run Code Online (Sandbox Code Playgroud)

这本书指出了一个功能需要做什么以及它需要以可能需要习惯的会话方式生成的输出.