Источники для изучения макросов схемы:определить синтаксис и правила синтаксиса

StackOverflow https://stackoverflow.com/questions/131433

Вопрос

я прочел Учебник по синтаксическим правилам JRM для Merely Eccentric, и это помогло мне понять правила синтаксиса и их отличие от макроса определения в common-lisp.правила синтаксиса — это только один из способов реализации преобразователя синтаксиса в файле define-syntax.

Я ищу две вещи: первая — это больше примеров и объяснений правил синтаксиса, а вторая — хорошие источники для изучения других способов использования define-syntax.Какие ресурсы вы рекомендуете?

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

Решение

Чтобы ответить на ваш второй вопрос: syntax-case это другая форма, которая входит внутрь define-syntax.Кент Дибвиг — главный сторонник syntax-case, и у него есть руководство по его использованию [PDF].

Я также прочтите документацию по схеме PLT на syntax-case чтобы увидеть еще несколько примеров и узнать о различиях в реализации.

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

Учебник по синтаксическим правилам JRM довольно хорош, но глава 36 «Языков программирования»:Применение и интерпретация, Шрирам Кришнамурти. http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/) также хорошо описывает написание макросов Scheme.Этот материал использовался и улучшался в нескольких коротких статьях, технических отчетах и ​​т. д. за последние 10 лет, так что это не статья «это было правдой о X-реализации Scheme в 1983 году, которая больше не доступна».

Список ресурсов на Поваренная книга схемы это отличное место для начала.Если вы предпочитаете бумаги, то не стесняйтесь посетить readscheme.org.

Боязнь макросов — практическое руководство по использованию макросов в Racket.Он показывает множество способов использования define-syntax.Возможно, этот материал не полностью применим к Scheme, но некоторые примеры могут оказаться полезными для понимания того, что можно сделать.

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