Как использовать SRFI-1 в Guile?

Я пытаюсь использовать srfi-1 в хитрости. Я использовал следующий код для включения srfi:
(use-modules (srfi srfi-1))

Однако я получаю сообщение об ошибке, говорящее о том, что srfi, вероятно, не определен. Как мне использовать srfi?

Я пробовал гуглить эту проблему, но кажется, что я первый человек с этой проблемой.


person Rohit Shinde    schedule 22.02.2015    source источник
comment
У меня работает с Guile 2.0.11. Какую версию Гайла вы используете?   -  person Nate C-K    schedule 22.02.2015
comment
Я разместил ответ в случае с модулем. Но если вы на самом деле пишете автономную программу, убедитесь, что use-modules находится на верхнем уровне и не написано с ошибками (например, как use-module или тому подобное).   -  person Chris Jester-Young    schedule 22.02.2015
comment
Пишу отдельную программу. Я проверю это.   -  person Rohit Shinde    schedule 22.02.2015


Ответы (1)


(use-modules (srfi srfi-1)) действительно правильный способ импорта SRFI 1 в программах верхнего уровня и в REPL.

Однако, основываясь на вашем предыдущем вопросе, я полагаю, что вместо этого вы можете писать модуль, и в этом случае синтаксис немного отличается. Вы бы использовали #:use-module (srfi srfi-1) внутри своего define-module. Пример:

(define-module (my module)
  #:use-module (srfi srfi-1)
  ;; rest of the module declaration here
  )
person Chris Jester-Young    schedule 22.02.2015