Argument: Lisp’s heavy parentheses are harder to read not merely from unfamiliarity but because their placement works against human perceptual and memory shortcuts. Cognitive effects like the Stroop and visual “pop-out” show that the brain uses visual features as hardware acceleration; syntax that creates distinct blobs, closure, or symmetry lets the eye parse structure in peripheral vision. Lisp’s uniform spacing and prefix parentheses place function names between matching delimiters and separate arguments only by identical spaces, so grouping cues are weaker than in C-style infix/parenthesized calls and comma-delimited lists. That makes it harder to visually match delimiters and to perceive argument clusters at a glance.
Specific consequences and remedies follow: proximity of tokens and matching delimiters matters because peripheral acuity is limited and working memory (“mental stack”) holds only about three to five items, so deep nesting becomes difficult. Dense stacks of closing parentheses are hard to count unless indented; notations that move closing delimiters closer to their openers (trailing-lambda styles, extra delimiters, or left-associative application like f(a)(b)) reduce both visual distance and memory load. The practical claim is that readable syntax should exploit Gestalt grouping, tight delimiter pairing, varied spacing or delimiter types, and forms that minimize required nesting.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.