[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fwd: Comments on draft #3
From: |
Peter Bex |
Subject: |
Re: Fwd: Comments on draft #3 |
Date: |
Sun, 3 May 2020 19:04:01 +0200 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
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