Re: The ". $" notation (was: Re: how useful are collecting lists?)
David A. Wheeler 18 Mar 2013 03:09 UTC
Alan Manuel Gloria:
> To reduce the parentheses, we could (I propose!!) do:
>
> cut .
> proc arg arg <> arg arg <...>
Ugh. I *really* don't see the value of this form, and
allowing "." at the end disables some error checking
I don't really want to disable. Seems to me that
people would normally write:
cut proc arg arg <> arg arg <...>
I also suspect there may be implementation problems.
> Or alternatively:
>
> cut . $ proc arg arg <> arg arg <...>
I doubt I would *personally* use this, and I'm skeptical
that it adds much. But on the other hand
I don't see any harm, especially since
we have to check after "." anyway for special cases, and
that seems like an improbable construct to use *accidentally*.
So I'd be okay with adding this.
Again, I'd just write:
cut proc arg arg <> arg arg <...>
> Basically, in the case of cut, while ". $" is effectively a no-op, it
> separates, syntactically, the procedure call from the form that
> provides a limited extension of the procedure call's semantics (in the
> case of cut, it adds <> and <...> syntaxes). A user might, in the
> future, be able to think of other extended formulations which ". $"
> could then support.
> So my proposal is:
>
> 1. Allow "foo . EOL INDENT x ..." ==> "(foo . (x ...))"
Worried about this one.
> 2. Allow "foo . $ x ..." ==> "(foo x ...)"
I could get talked into this one, though I can't imagine using it.
> What does everyone think??
I'd sure like to know too!
--- David A. Wheeler