chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: Comments on draft #3


From: John Cowan
Subject: Re: Fwd: Comments on draft #3
Date: Sun, 3 May 2020 13:05:42 -0400

The behavior of a macro keyword in operand position is not affected by the patch.

On Sun, May 3, 2020 at 1:04 PM Peter Bex <address@hidden> wrote:
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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]