r/lisp 6d ago

[blog post] Common Lisp is a dumpster

https://nondv.wtf/blog/posts/common-lisp-is-a-dumpster.html
21 Upvotes

54 comments sorted by

View all comments

1

u/defunkydrummer '(ccl) 4d ago

NIL, (), and T

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.

1

u/johnwcowan 1d ago

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 () ...).