Pregunta

He leído Primer Sintaxis de reglas de JRM para el Merely Excéntrico y me ha ayudado a entender las reglas de sintaxis y en qué se diferencia de la macro-definición de common-lisp. syntax-rules es solo una forma de implementar un transformador de sintaxis dentro de define-syntax.

Estoy buscando dos cosas, la primera es más ejemplos y explicaciones de las reglas de sintaxis y la segunda es una buena fuente para aprender las otras formas de usar la sintaxis definida. ¿Qué recursos me recomiendan?

¿Fue útil?

Solución

Para responder a su segunda pregunta: syntax-case es la otra forma que va dentro de define-sintax . Kent Dybvig es el principal defensor de syntax-case , y tiene un tutorial sobre cómo usarlo [PDF].

También leí la documentación del Esquema PLT en syntax-case para algunos ejemplos más, y para aprender sobre la variación en la implementación.

Otros consejos

El manual de sintaxis y reglas 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 para escribir macros de Scheme. Ese material se ha utilizado y mejorado en varios artículos breves, informes técnicos, etc., durante los últimos 10 años, por lo que no es un 'esto fue cierto acerca de la implementación de X del Esquema en 1983 que ya no es accesible'.

La lista de recursos en El libro de cocina Scheme es un excelente lugar para comenzar. Si prefiere los documentos, no dude en visitar readscheme.org .

Fear of Macros es una guía práctica para usar macros en Racket. Muestra muchas formas de usar define-sintax . Es posible que el material no sea completamente aplicable a Scheme, pero puede encontrar algunos de los ejemplos útiles para saber qué se puede hacer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top