Источники для изучения макросов схемы: определение синтаксиса и правила синтаксиса
Я прочитал учебник по правилам синтаксиса JRM для простого эксцентрика, и он помог мне понять правила синтаксиса и то, как он отличается от макроса define-lisp. Синтаксические правила - это только один из способов реализации синтаксического преобразователя в пределах define-syntax.
Я ищу две вещи, первая - это больше примеров и объяснений синтаксических правил, а вторая - хорошие источники для изучения других способов использования define-синтаксиса. Какие ресурсы вы рекомендуете?
3 ответа
Чтобы ответить на ваш второй вопрос: syntax-case
это другая форма, которая идет внутрь define-syntax
, Кент Дибвиг является основным сторонником syntax-case
и у него есть учебник по его использованию [PDF].
Я также прочитал документацию Схемы PLT на syntax-case
еще несколько примеров и узнать об изменениях в реализации.
Учебник по синтаксическим правилам JRM довольно хорош, но глава 36 "Языки программирования: применение и интерпретация", Шрирам Кришнамурти ( http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/) также хорошо освещена. написания схемы макросов. За последние 10 лет этот материал использовался и совершенствовался в нескольких коротких статьях, технических отчетах и т. Д., Так что это не то, что "это было правдой по поводу реализации X схемы в 1983 году, которая более недоступна".
Список ресурсов в The Scheme Cookbook - отличное место для начала. Если вы предпочитаете документы, не стесняйтесь посетить http://readscheme.org/.
Страх перед макросами - это практическое руководство по использованию макросов в Racket. Это показывает много способов использования define-syntax
, Материал может быть не совсем применим к Схеме, но вы можете найти некоторые примеры полезными для понимания того, что можно сделать.