Origins of the phrase "nil punning"?

Hi there,

I wondered if anyone knew the origins of the phrase “nil punning”. I presume it preceded Clojure?

Bonus question - does anyone know of a library in Java that attempts nil punning in its common collection implementations (without changing everything to use Optional)?

Best wishes,

1 Like

I’d say it precedes Clojure - see and
and probably tangentially related:

1 Like

I googled “nil punning” and the first hit was by @ericnormand :slight_smile: (

Seems it comes from the fact that nil had/has multiple meanings in Lisp (false, empty list, absence of a value), hence it’s a “pun”.

And don’t forget A Short Ballad Dedicated to the Growth of Programs. It says a lot about nil punning in a few lines of poetry.