Mnemnion

A Unit of Analogy

A Parenthetical Observation

Everyone, when they encounter Lisp for the first time, has trouble with the parentheses. It's a rite of passage.

Everyone who goes on to learn Lisp develops a very different attitude. I'd like to share an observation that helps understand why.

I write a fair amount of Lisp, in a few dialects. I could get that work done without a ")" key on my keyboard.

Lisp means never having to close your forms. The delimiters on the left are for you to read, the ones on the right are just a period.

I find it interesting that anathema accumulates around code barriers, rather than internal syntax. Semicolons, significant whitespace, brace placement, and parentheses have all been the subject of holy war, and one may easily find developers who simply refuse to work with certain separation styles unless pressed. At the moment I can't account for this observation, but I'd like to note that I've never seen a holy war over, say, := vs = vs <-. Perhaps I'm not on the right mailing lists.

On the other hand, capitalization and underscore vs. slash vs. nothing are certainly capable of eating up arbitrary amounts of bad blood. Never underestimate the geek's capacity to bikeshed.