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

Attachment: signature.asc
Description: PGP signature

Reply via email to