macros lisp scheme syntax-rules define-syntax

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.



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".