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


With respect to special forms vs procedures, IF vs IF/WHEN/UNLESS, LET vs
LET/ITERATE, and feeping creaturism, please remember that the keywords of
special forms may be reserved in some implementations and thus cannot be
used as variables in portable code.  When I was a Cobol programmer, it
occurred to me that the main reason that experienced Cobol programmers were
so much more productive than inexperienced programmers was that they didn't
have to flip through the list of several hundred reserved words every time
they wanted to name a variable.

Have pity on the poor beginner.  I could probably keep fifty de facto
reserved words in mind as I program, though there are more important things
that I ought to keep in mind instead.  Beginners, however, are likely to
have trouble remembering the twenty or so we already have.

One of the glories of Scheme is that it gives T (and NIL) back to the
programmer.  At last I can use T as a temporary or to stand for time!  Now
they threaten to take away WHEN and ITERATE.  Arise, programmers, and defend
your namespace!

P.S.  I am in sympathy with the idea of making one-armed IF optional rather
than essential.  The one-armed IF that acts like material conditional looks
like a feeping creature to me.

If our strongest disagreements have to do with procedure names, then we've
made real progress.  I think MAP is much nicer than MAPCAR, and I would like
to see it adopted so we can keep up with the rest of the functional
programming community.  MAPC is utterly random, but while WALK is better it
isn't obviously the right thing and it doesn't have MAPC's tradition.

				William Clinger