Источники для изучения макросов схемы: определение синтаксиса и правила синтаксиса - PullRequest
10 голосов
/ 25 сентября 2008

Я прочитал Учебник правил синтаксиса JRM для «Просто эксцентрика», и это помогло мне понять синтаксические правила и то, как они отличаются от макроса define-lisp. Синтаксические правила - это только один из способов реализации синтаксического преобразователя в define-syntax.

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

Ответы [ 4 ]

6 голосов
/ 04 ноября 2008

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

6 голосов
/ 25 сентября 2008

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

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

4 голосов
/ 29 сентября 2008

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

0 голосов
/ 03 марта 2019

Страх перед макросами - это практическое руководство по использованию макросов в Racket. Показывает много способов использования define-syntax. Материал может быть не совсем применим к Схеме, но некоторые примеры могут оказаться полезными для понимания того, что можно сделать.

...