Fuentes para aprender sobre Scheme Macros: define-syntax y syntax-rules
lisp (3)
He leído el Manual básico de reglas de sintaxis de JRM para Merely Eccentric y me ha ayudado a comprender las reglas de sintaxis y cómo es diferente de la definición-macro de common-lisp. syntax-rules es solo una forma de implementar un transformador de sintaxis dentro de define-sintaxis.
Estoy buscando dos cosas, la primera es más ejemplos y explicaciones de las reglas de sintaxis y la segunda son buenas fuentes para aprender las otras formas de usar definir sintaxis. ¿Qué recursos recomiendas?
Para responder a su segunda pregunta: syntax-case
es la otra forma que va dentro de define-syntax
. Kent Dybvig es el principal defensor del syntax-case
de syntax-case
, y tiene un tutorial sobre su uso [PDF].
También leí la documentación del Esquema PLT sobre syntax-case
de syntax-case
para algunos ejemplos más, y para aprender sobre la variación en la implementación.
La lista de recursos en The Scheme Cookbook es un gran lugar para comenzar. Si prefiere documentos, entonces no deje de visitar readscheme.org .
El manual de normas de sintaxis de JRM es bastante bueno, pero el Capítulo 36 de Lenguajes de programación: Aplicación e interpretación, por Shriram Krishnamurti http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/ ) también tiene una buena cobertura de escribir macros de esquema Ese material ha sido utilizado y mejorado en varios artículos breves, informes técnicos, etc. en los últimos 10 años, por lo que no es "cierto lo que sucedió con la implementación X del Esquema en 1983, que ya no es accesible".