Как использовать 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.

Другие вопросы по тегам