He estado escribiendo macros Common Lisp, por lo que las macros R5Rs de Scheme son un poco antinaturales para mí. Yo creo me ocurrió la idea, excepto que no entiendo cómo se podría utilizar patrones de vectores en la sintaxis de reglas:¿Cómo se usan los patrones de vectores en las reglas de sintaxis?
(define-syntax mac
(syntax-rules()
((maC#(a b c d))
(let()
(display a)
(newline)
(display d)
(newline)))))
(expand '(maC#(1 2 3 4))) ;; Chicken's expand-full extension shows macroexpansion
=> (let746() (display747 1) (newline748) (display747 4) (newline748))
no veo la forma en que haría uso de una macro que requiere sus argumentos debe escribirse como un vector:
(maC#(1 2 3 4))
=>
1
4
¿Existe algún tipo de técnica que utilice esos patrones?
¡Gracias!
¡Gracias! ¡Ahora tiene mucho más sentido! :-) – Jay