DrRacket原子?符号?:未定义?怎么了?

wiw*_*iwo 6 lisp scheme racket

我正在使用drracket学习嘴唇编程.我不太喜欢,但我想通过我的考试;)

我有一个奇怪的问题 - 我不能使用原子?和符号?功能.但数量?刺痛?工作良好.

> (atom? '())
. . atom?: undefined;
 cannot reference an identifier before its definition
> (symbol? A)
. . A: undefined;
 cannot reference an identifier before its definition
> 
Run Code Online (Sandbox Code Playgroud)

我做错了吗?或者问题是什么?我在Mac上使用DrRacket 6.0.1

提前致谢

Ósc*_*pez 11

对于第一个错误:你必须明确定义atom?,因为在普通的Racket不是一个内置的程序(也许它是在一种教学语言中):

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

关于第二个错误:symbol? 定义,错误表明A未定义.也许你的意思是这个(注意引用):

(symbol? 'A)
=> #t
Run Code Online (Sandbox Code Playgroud)