Вопрос

Что делает следующий код схемы хитрости?

(eq? y '.)
(cons x '.)

Код недопустим в MzScheme, существует ли переносимый эквивалент для всех реализаций схемы?

Я пытаюсь перенести этот код, написанный кем-то другим.Коварство, похоже, отвечает на ".с помощью #{.}#, но я не уверен, что это значит или как это сделать в другой схеме.

Это было полезно?

Решение

Ладно, похоже, что так ".допустимый синтаксис для (string->symbol ".") в Guile, тогда как MzScheme, по крайней мере, требует |.| для точки в качестве символа.

Другие советы

#{.}# это специфический способ определения символа, содержащего некоторые разделители схемы.http://www.gnu.org/software/guile/manual/html_node/Symbol-Read-Syntax.html

Для других диалектов Scheme должен быть другой способ.

Я удивлен, что любая система Scheme вообще принимает символ точки.Мой совет - использовать другой символ, поскольку (я уверен, вы в курсе) точка - это сокращение для обозначения пары, и даже если вы сможете найти схему, которая будет использовать ваш код, вы, скорее всего, собьете с толку любого, у кого есть неудачная задача фактически прочитать ваш код.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top