Как использовать диспетчерскую функцию #M в пакете серии? - PullRequest
3 голосов
/ 19 апреля 2020

Я пытаюсь понять основы series библиотеки и изучаю примеры в CL Cookbook

Но если я попытаюсь оценить один из этих примеров

SERIES> (collect
          (#Mlist (scan '(a b c))
                  (scan '(1 2 3))))

Я получаю следующую ошибку от SBCL 2.03:

no dispatch function defined for #\M

  Line: 2, Column: 15, File-Position: 23

  Stream: #<SB-IMPL::STRING-INPUT-STREAM {1004122F53}>
   [Condition of type SB-INT:SIMPLE-READER-ERROR]

Я загрузил series, используя quicklisp, и не смог найти функцию отправки #M должно быть определено. Может кто-нибудь дать мне подсказку?

1 Ответ

2 голосов
/ 19 апреля 2020

Макросы Reader для библиотек обычно должны быть включены явно.

В соответствии с RELEASE-NOTES:

Вы можете использовать SERIES :: INSTALL для использования "use-package" Серии, в которых расширенные специальные формы импортированы тенями, и установлены макросы читателей.

Я не уверен, почему это не экспортируется.

У меня пока нет нашел определение named-readtables для серии, но я бы предположил, что кто-то уже сделал это.

...