On Sat, Aug 22, 2020 at 11:16 AM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:

Big mistake, which is hard to understand.

Eh, we have a countable infinity of identifiers.  Losing just _ is not that big a deal, though it does run up against other uses (which is why we are talking about it).
 
And I hate syntax-case. 

Will Clinger told me a story of seeing Bawden and Rees themselves arguing for 15-20 minutes at the whiteboard over the meaning of some particular syntactic-closures example.  This gave him the more or less permanent view that if the syntactic closures system was too hard for its inventors, it was too hard for him. 

What are the advantages of the only advertised alternative?

Rather than discussing this most explosive of Scheme issues here, I recommend reading Alex's 2008 post at <https://lists.gnu.org/archive/html/chicken-users/2008-04/msg00021.html>.  Note that a few of the criticisms of syntax-case are incorrect, and that Chicken no longer has pluggable macro systems (there is only explicit renaming and of course syntax-rules).
 
And even if one of these is specified, doubtless many impls will stick to just syntax-rules.

That would be me among others.  See my first comment to the above posting, on the virtues of proper (pre)compilers vs. trying to do everything in the macro system and making a Scheme compiler also able to compile Fortran (in S-expression form).

I was thinking more on the lines of any macro that wants to construct a specific identifier, such as the implicit field accessors in SRFI 99, for which syntax parameters are of no help.

True.  But then it's my opinion that identifiers that appear undeclared out of nowhere are a bad idea.  When a novel term is used in prose, we expect to find it defined.  See also in this connection the tale of Professor Simpleton and Dr. Hardcase at <https://www.mail-archive.com/xxxxxx@lists.r6rs.org/msg04199.html>.

If you rebind entities with dynamic extend, you should document it in the public interface of a macro or procedure.

+1

Either system is probably the worst outcome because it places a huge burden on every writer of portable macro code. In that case, it is better when every implementation just does the work once.

"Either" was an error on my part; it should have read "both". 
 
Whatever; as I have accepted, John, I can moderate a neutral discussion.

Whether you can or cannot, you should not.   A discussion moderator must be *perceived* to be impartial as well as actually being so, and you are an open partisan of syntax-case.  I could do it, but I don't have the time for it.

The proper forum is most likely a new discussion list, Schememacros or the like.

For that I am preparing some document with philosophies, user and implementer's documentation for Scheme macros and macro system.

That will be helpful. 

I should add that include(-ci) has always been understood to be non-hygienic textual inclusion.  I personally wish it did not exist as an expression but solely as a library declaration, where there is no question of macro expansion.



John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
Long-short-short, long-short-short / Dactyls in dimeter,
Verse form with choriambs / (Masculine rhyme):
One sentence (two stanzas) / Hexasyllabically
Challenges poets who / Don't have the time.     --robison who's at texas dot net