我在 Racket 和 Chez Scheme 中进行了测试,发现(begin)可以接受,但(define a (begin))不能。例如我得到的 Racket
(begin)
(define a (begin))
> (begin) > (define a (begin)) ; stdin:56:10: begin: empty form not allowed
我的问题是为什么(begin)允许?这有什么具体的原因/直觉吗?
scheme racket
racket ×1
scheme ×1