Как использовать SRFI внутри модуля в Chicken Scheme?
Следующий файл выдает ошибку при компиляции с csc
,
(module
monoid *
(import chicken scheme)
(use srfi-9)
(define-record-type a0 (a0) a0?))
Ошибка:
Syntax error (import): cannot import from undefined module
srfi-9
Expansion history:
...
Я следовал примеру в "Руководстве пользователя CHICKEN / Поддерживаемые языки / Модули / Примеры использования модулей".
1 ответ
Решение
Некоторые более мелкие SRFIs являются частью chicken
модуль. Вы можете просто удалить (use srfi-9)
линия.
Я знаю, что это несколько сбивает с толку, но если вы внимательно прочитаете его, в руководстве не указано , что для него есть модуль (и, действительно, его нет). Это также стало более разумным в предстоящем CHICKEN 5. Там srfi-9 - чистый, отдельный модуль, и ваша программа-пример работает как есть на CHICKEN 5.