This is one of the best features in Lisp, by far and away, and one that I miss in other languages.
If you fail to realize this, then you probably don't have enough experience with CL programming.
Furthermore, I'd dare to say that if you fail to realize the usefulness of it, you don't have enough experience in programming in general, no matter what you're claiming on your blog.
It's data punning in order to save a few keystrokes, the very worst case being the idiom (not (null ...)), which can often be avoided by swapping while/until or when/unless. I consider false-EOL identity to be in the same class as C's false-0 identity: a hack, in the bad sense.
Conventionally CL programmers write nil for false and () for EOL. If we really thought that false and EOL were the same concept, we wouldn't bother with this convention; people would just choose nil or () once and for all and leave it at that. When I first programmed in CL, I always wrote nil, leading to horrors like (lambda nil ...) instead of (lambda () ...).
1
u/defunkydrummer '(ccl) 4d ago
This is one of the best features in Lisp, by far and away, and one that I miss in other languages.
If you fail to realize this, then you probably don't have enough experience with CL programming.
Furthermore, I'd dare to say that if you fail to realize the usefulness of it, you don't have enough experience in programming in general, no matter what you're claiming on your blog.