Источники для получения информации о Scheme Macros: define-syntax и синтаксические правила

Я прочитал JRM Синтаксис правил Праймера для простого эксцентрика, и он помог мне понять синтаксические правила и как он отличается от обычных - lisp define-macro. синтаксические правила - это только один способ реализации синтаксического трансформатора в определении-синтаксисе.

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

Ответ 1

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

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

Ответ 2

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

Ответ 3

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