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

Re: [Scheme-reports] [wg2] in support of single-arity procedural syntax transformers

15 minutes ago, Alex Shinn wrote:
> > (b) Without such a system to show otherwise, formalizing the current
> >    practice is a far better choice as far as a standard goes.
> Unfortunately, current practices disagree.

I didn't see an ER system that didn't have a wrapper.  The most I've
seen was some mumbling on the wrapper being redundant, but it was
there.  Your point (playing with adding arguments) is a direct
demonstration why the wrapper is needed.  (...as I said in the post
that you *still* ignore.)

> > (c) Formalizing a system that *contradicts* R6RS is ... particularly
> >    silly.  Regardless of R7RS being a derivative language or not
> >    being one.  Even more so when practically the only argument
> >    that I see against accomodating both is some kind of
> >    non-technical "discrimination" argument.  ("Non-technical"
> >    since it's easy to have both, or only one.)
> No, you don't get to turn this around.  It was R6RS that
> contradicted reality - the reality that existing syntactic-closures
> implementations simply can't support single argument expanders
> (modulo hypothetical rewrites to their macro systems discussed in
> this thread).

These shouts of discrimination are getting tiring.  What I described
was a way to get *both* or *either* to work.  Specifically, the above
is *not* bringing r6rs as a kind of authority that gets contradicted.
(The "Regardless" sentence is a strong hint for that.)

It uses it as a point that has lead to *much* code that you seem eager
to break.  Given that there is a way to have both, this eagerness to
break it seems like a bad idea.  Especially important is the last part
of that paragraph.  The only reason I've seen for having a wrapper for
syntax cases systems is a non-techincal "we're discriminated" one.
(And before you consider going with this point, see that post that you
keep ignoring, where I have explained why it is *not* discrimination.)

IMO, the vehemence in which ER is argued for has an obvious reason.
I'll do the polite thing and not specify that reason.  (AFAICT, Andre
has raised some very strong points, and they are still unanswered.)

> WG1 is staying compatible with everything by limiting itself to
> syntax-rules.  WG2 is currently being conservative and sticking to
> ER, which any reasonably powerful macro system can support.  Neither
> contradicts R6RS.

This implicit definition of "conservative" is weird.

> If WG2 does support syntax-case, then adding a wrapper is trivial
> for existing syntax-case implementations, and makes it easier for
> other implementations to support.  It would encourage more
> widespread syntax-case support.

This "encourage" conclusion is wrong since the wrapper is not
necessary for dispatch.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Scheme-reports mailing list