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,
Anthony.

1 Like

I’d say it precedes Clojure - see http://wiki.c2.com/?WhatIsNull and https://www.gnu.org/software/emacs/manual/html_node/eintr/nil-explained.html
and probably tangentially related: https://en.wikipedia.org/wiki/Type_punning

1 Like

I googled “nil punning” and the first hit was by @ericnormand :slight_smile: (https://lispcast.com/nil-punning/)

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.