On Sun, May 03, 2020 at 12:55:40PM -0400, John Cowan wrote: > This is the first of two patches that allow macros to be expanded when they > appear in operand position, so that if pi is a macro for 3.14159, then (+ 5 > pi) will be expanded to (+ 5 3.14159). This allows macros that work like > procedures in the sense that they can be passed as operands. > > This patch works for er-macros and ir-macros. Basically if a low-level > macro is found in operand position, rather than an a syntax error, whatever > the macro expands into is substituted.
To me it seems this introduces an ambiguity between (foo) and foo. What if foo is a macro that expands to a procedure? Then (apply foo '()) would then be identical to (apply (foo) '()), unless I'm misunderstanding something. I would find that highly undesirable. Cheers, Peter
signature.asc
Description: PGP signature