Is use of (case) a shibboleth?

Excellent points everywhere. I didn’t realize there were performance differences underlying case vs condp. My original impression of case was that it was a poor-man’s condp. Your answers have shown that I was right – but as a result of its poverty, case is both cognitively and computationally cheaper, which can be a good thing.

As for why I thought it was non-lispy, it was because I saw it as a hold-over that does the same thing as condp, but was made to favor visitors from other languages who used case-switch in C or Java or wherever. I think this thread has made some good refutations of that idea, though. The resultant question becomes “When should condp be used?” and I suppose the answer is, “whenever the branch is more complex than a simple equality check”

2 Likes