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

Re: moving on




On Dec 7, 2003, at 4:53 PM, bear wrote:

No, I think this is too complicated. We're talking more about
this as syntax than as list structure anyway; I think that
making people think in terms of list structure would just
confuse the issue.

Graaaagh!  This is _Lisp_.  Syntax is data,  syntax is lists, syntax
is S-expressions.  If you don't want to think of syntax as lists, then
please go use another language, and don't bother us Lispers.


On Dec 7, 2003, at 6:27 PM, Alfresco Petrofsky wrote:

What kludginess are you talking about?  Your concern is that the
addition of an optional positional argument makes the calling
convention too hairy, right?  I can go along with that assessment,
although I think the hairiness of (syntax-rules <ellipsis>? <literals>
<rule>+) is actually just shy of being too hairy (and is equihairy
with (let <name>? <bindings> <body-elt>+), which seems to work just
fine in practice).

OK, sure, but LET isn't likely to be extended any time soon, whereas
SYNTAX-RULES (or SYNTAX-RIASTRADH, or whatever) probably is.  Named-
LET is probably the only extension to the ordinary LET syntax that
anyone will ever make, so the kludginess of it doesn't really matter,
but with SYNTAX-RULES, more and more kludges are likely to be added to
the main syntax.

But the calling convention is a trivial issue compared to the
functionality of Choose-Your-Own-Ellipsis.  The choice is the thing.
I thought people agreed that hygienically binding your identifier of
choice to the role of the ellipsis is more flexible and less kludgy
than (... ...).  As I said in the message in which I proposed the
idea, it can work with whatever calling convention you want to
specify: positional or keyword.

OK, sorry, I wasn't thinking straight this afternoon (brain freeze
from shoveling snow that kept accumulating again at a rapid rate).  I
retract the post in which I retracted my retraction of (... ...) and
I'll write up CYOE in the next draft.

I don't understand why you are still lumping together under the name
"syntax-riastradh" two ideas of wildly disparate radicalness:
unhygienic identifier insertion (radical -- requires more
experimentation and experience before SRFI-dom) and a keyword-tagged
argument list (not so radical).

Yes, they are two very different issues, but I'd like to see them
together, to not only solve the problem of there being no reliable way
to insert identifiers unhygienically but also the problem of kludge
upon kludge being added to the syntax of SYNTAX-RULES until it looks
like C++ templates.  Maybe I ought to refer to the directive issue as
SYNTAX-RIASTRADH and the unhygienic issue as SYNTAX-UNHYGIENE (or
SYNTAX-ATTACKS! or whatever).