r6rs и определить тип записи

Привет всем,

для класса мне пришлось импортировать некоторые библиотеки.

у меня ошибка, после проверки библиотек проблема в основном сводится к

r6rs, который выдает эту ошибку: define-record-type: unbound identifier in module in: 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)))))

person Jelte Deproft    schedule 11.11.2013    source источник
comment
См. stackoverflow.com/a/19883861/1193075   -  person uselpa    schedule 11.11.2013


Ответы (1)


Вы не учли свои import объявления, которые являются наиболее важной частью для определения несвязанных идентификаторов!

Идентификатор define-record-type экспортируется из (rnrs records syntactic), поэтому вам необходимо убедиться, что один из ваших импортов:

(import (rnrs records syntactic))

Из документации R6RS:

Синтаксический уровень обеспечивается библиотекой (rnrs records syntactic (6)). Некоторые детали спецификации поясняются в терминах спецификации процедурного уровня ниже.

Форма определения типа записи define-record-type является определением и может появляться везде, где может появиться любое другое. ...

person GoZoner    schedule 11.11.2013