r6rs和define-record-type

时间:2013-11-11 10:56:05

标签: scheme racket r6rs

HY大家,

对于类我必须导入一些库。

我收到错误,在检查出库后,问题基本归结为

提供此错误的

r6rs: define-record-type:模块中的未绑定标识符:define-record-type

在这个图书馆中:

#lang r6rs

(library
 (scenario-line)
 (export new say-what says-who say-it)
 (import ;...
  )

 (define-record-type scenario-line
   (new figure text)
   scenario-line?
   (figure says-who)
   (text say-what))

 (define (say-it scenario-line)
   (diagonal-paste (diagonal-paste (says-who scenario-line) 
                                   (new-cloud 15 15)) 
                   (new-text-cloud (say-what scenario-line)))))

1 个答案:

答案 0 :(得分:0)

您遗漏了import声明,这是确定未绑定标识符最重要的部分!

标识符define-record-type(rnrs records syntactic)导出,因此您需要确保其中一个导入是:

(import (rnrs records syntactic))

来自R6RS文档:

  

句法层由(rnrs records syntactic)提供   (6))的库。本说明书的一些细节用术语解释   以下程序层的规范。

     

记录类型定义形式define-record-type是一个定义和   可以出现任何其他可以出现的地方。 ...