On Fri, Mar 6, 2020 at 2:34 AM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:

There are other common macros names like "when" or "unless" that would make sense as keyword names as well.

That's the same argument that CL people use against Lisp-1s: that because there is a standard procedure named 'list', one is precluded from having an argument or local variable with that name.  (Of course this is only true if the procedure is actually needed in the local context.)

Perhaps more on point is something like this:

 (let ((else #f)) (cond ((= 1 0) #f) (else 77)))

I suspect that many people will be surprised by what is returned.



John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
Heckler: "Go on, Al, tell 'em all you know.  It won't take long."
Al Smith: "I'll tell 'em all we *both* know.  It won't take any longer."