DrRacket中lang sicp中的错误函数不受约束

时间:2016-12-29 01:54:59

标签: racket sicp

我使用DrRacket 6.6并使用 #lang sicp ,一切看起来不错但功能错误不存在,它说:

错误:模块中的未绑定标识符:错误

为什么呢?

1 个答案:

答案 0 :(得分:1)

sicp软件包的文档不包含标识符error,因此它不是语言#lang sicp的一部分。 sicp包的目的是为R5RS命名空间添加一些书籍特殊绑定,但是书中没有提到名为error的过程或特殊形式。

根据DrRacket中的标准语言#lang racket,在当前标准Scheme下,#!r6rserror是一个可用于发出错误信号的过程(在R6RS中称为异常) )。

仅从error添加racket/base

#lang sicp
(#%require (only racket/base error))

(error "some error") ; error gets thrown