unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Rob Browning <rlb@defaultvalue.org>
Cc: Marius Vollmer <mvo@zagadka.de>,
	Guile-Devel Mailing List <guile-devel@gnu.org>
Subject: Re: Internal defines
Date: Mon, 10 Nov 2003 20:21:01 -0600	[thread overview]
Message-ID: <87ekwf63xu.fsf@raven.i.defaultvalue.org> (raw)
In-Reply-To: <3FAEC259.302@dirk-herrmanns-seiten.de> (Dirk Herrmann's message of "Sun, 09 Nov 2003 23:40:26 +0100")

Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> 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


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2003-11-11  2:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-09 22:40 Internal defines Dirk Herrmann
2003-11-11  2:21 ` Rob Browning [this message]
2003-11-11  3:11   ` Tom Lord
2003-11-11  3:50     ` David Van Horn
2003-11-11  4:22       ` Tom Lord
2003-11-11  4:33       ` Tom Lord

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ekwf63xu.fsf@raven.i.defaultvalue.org \
    --to=rlb@defaultvalue.org \
    --cc=guile-devel@gnu.org \
    --cc=mvo@zagadka.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).