首页 文章

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

提问于
浏览
1

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

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

为什么?

1 回答

  • 1

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

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

    Adding only error from racket/base:

    #lang sicp
    (#%require (only racket/base error))
    
    (error "some error") ; error gets thrown
    

相关问题