[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Internal defines
From: |
Rob Browning |
Subject: |
Re: Internal defines |
Date: |
Mon, 10 Nov 2003 20:21:01 -0600 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) |
Dirk Herrmann <address@hidden> writes:
> In other words, the examle code above should return #t, because the
> expression (a (c x) (c x)) refers to the internal define rather than
> to the outer macro. Guile, however, has up to now performed macro
> expansion before checking whether the form is a definition. Thus,
> the example above returns an error, since Guile interprets (a (c x)
> (c x)) as a macro application, in this case a definition. The body
> then (according to Guile's interpretation) consists only of
> definitions.
Hmm, so just to clarify, you're arguing against a rigid "read, expand,
eval" process, and in favor of considering the context of expansions
before deciding whether or not to expand?
If so, could you elaborate a bit more on the justification for either
choice? Note that I'm not at all predisposed against your
position[1]; I'd just like to make sure I understand the rationale(s).
Thanks
[1] though I'm not sure I would have been completely surprised by a
macro taking effect before anything else.
--
Rob Browning
rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
- Internal defines, Dirk Herrmann, 2003/11/09
- Re: Internal defines,
Rob Browning <=