Puede una macro escribirse en el Esquema (con define-syntax
, por ejemplo) que se llevará a expresiones como ésta:macro Esquema de manifestación de anidación
(op a b c d e f g h i j)
y el rendimiento expresiones como ésta como salida?
(op (op (op (op (op (op (op (op (op a b) c) d) e) f) g) h) i) j)
Por supuesto, para longitudes arbitrarias. No puedo pensar en una manera de hacerlo, dado alguna plantilla de la siguiente manera:
(define-syntax op
(syntax-rules()
[(_) 'base-case]
[(v1 v2 ...) 'nested-case??]))
Tengo curiosidad. ¿Fue solo una cuestión de interés teórico o tiene un caso de uso interesante? En general, ese tipo de envoltura se lograría con un foldLeft. – namin
hmm, buen punto. Principalmente le pregunté esto porque no pensé en tu camino = P. No me di cuenta de que esto es exactamente lo que hace foldl. – Claudiu