Хитрая схема - указанный период?
Вопрос
Что делает следующий код схемы хитрости?
(eq? y '.)
(cons x '.)
Код недопустим в MzScheme, существует ли переносимый эквивалент для всех реализаций схемы?
Я пытаюсь перенести этот код, написанный кем-то другим.Коварство, похоже, отвечает на ".с помощью #{.}#, но я не уверен, что это значит или как это сделать в другой схеме.
Решение
Ладно, похоже, что так ".допустимый синтаксис для (string->symbol ".") в Guile, тогда как MzScheme, по крайней мере, требует |.| для точки в качестве символа.
Другие советы
#{.}#
это специфический способ определения символа, содержащего некоторые разделители схемы.http://www.gnu.org/software/guile/manual/html_node/Symbol-Read-Syntax.html
Для других диалектов Scheme должен быть другой способ.
Я удивлен, что любая система Scheme вообще принимает символ точки.Мой совет - использовать другой символ, поскольку (я уверен, вы в курсе) точка - это сокращение для обозначения пары, и даже если вы сможете найти схему, которая будет использовать ваш код, вы, скорее всего, собьете с толку любого, у кого есть неудачная задача фактически прочитать ваш код.