unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: guile-devel@gnu.org
Subject: Re: Document top-level pseudo-hygiene
Date: Fri, 07 Feb 2014 00:13:05 +0100	[thread overview]
Message-ID: <87bnyjvnr2.fsf@gnu.org> (raw)
In-Reply-To: 87r47ugh9h.fsf@netris.org

Hello gentlefolks!

Mark H Weaver <mhw@netris.org> skribis:

> "Andy Wingo" <wingo@pobox.com> writes:
>> commit 03dfed840b377a72191b6f125c106fdfd9e90a21
>> Author: Andy Wingo <wingo@pobox.com>
>> Date:   Fri Jan 24 12:34:26 2014 +0100
>>
>>     Document top-level pseudo-hygiene
>>     
>>     * doc/ref/api-macros.texi (Hygiene and the Top-Level): Add a section
>>       documenting our pseudo-hygienic top-level names.
>
> As I've said before, I strenuously object to these novel semantics that
> you've invented.  I believe this would be an ugly wart on Guile that we
> would have to support indefinitely, in violation of the standards,
> because its existence would encourage people to write code that depends
> upon it.

[...]

>> +For this reason many people prefer to never use identifier-introducing
>> +macros at the top-level, instead making those macros receive the names
>> +for their introduced identifiers as part of their arguments, or to
>> +construct them programmatically and use @code{datum->syntax}.
>
> Yes, this is exactly what we must teach people to do when an introduced
> toplevel identifier would cross a module boundary.

Sorry to chime in late, but it seems to me that the above commit does
exactly that: it exposes the issue, warns against the use of generated
top-level identifiers, while explaining what happens if you really want
to use them.

So there are the “novel semantics” on one hand for those who want, but
the manual is fair in explaining the pros and cons, no?

Cheers,
Ludo’.




  reply	other threads:[~2014-02-06 23:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1W7QOI-0001rc-JS@vcs.savannah.gnu.org>
2014-01-27  4:50 ` Document top-level pseudo-hygiene Mark H Weaver
2014-02-06 23:13   ` Ludovic Courtès [this message]
2014-03-25 20:07   ` Andy Wingo

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=87bnyjvnr2.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guile-devel@gnu.org \
    /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).