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

Re: [Scheme-reports] Legacy caar to cddddr

On Mon, 24 Oct 2011, Alex Shinn wrote:

On Sun, Oct 23, 2011 at 5:04 PM, Andre van Tonder <andre@x> wrote:

Maybe for a virgin programmer, but they don't make things clearer to someone
who is used to the C*R deconstructors (e.g., anyone familiar with Scheme or

Names matter.  New programmers, and people coming from
other languages matter.  All else being equal to experienced
Schemers, we should pick what makes the most sense for

All else is not equal to experienced Schemers.

LISP).  Anyone who has programmed macros in this style knows that every
additional argument in the descent simply needs another D, etc.
SECOND, THIRD, LIST-TAIL, etc., very much lack the elegance and conciseness
of the C*R notation.  For example, should the argument of LIST-TAIL should
be 3 or 4?

So you're saying you can count the number of d's faster
than you can read the character 3 or 4?

No, but should it be 3 or 4? Does list-tail do the cut before or after the n-th argument? Does the count start at 0 or 1? I can never remember this because nothing about it is obvious. CDDDR is obvious.
Scheme-reports mailing list