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).