|
|
|
|
|
by kazinator
2547 days ago
|
|
Doesn't work for blocks that contain nested indentation levels, but are themselves positioned from something aligned: (long-function-name (lambda (arg ...)
(let ()
(...)))
more args ...)
That (lambda ...) doesn't start on a tab-established indentation; it's an argument to long-function-call. But inside the (let ...), it's indentation as usual. If we rename long-function-name, to something that is one character longer, the whole lambda block moves one character to the right.If you think this is just Lisp, think again; thanks to its influence, such patterns are showing up all over the place in numerous languages. |
|
The lack of convenient semantic cues in the source file representation is exactly what burdens the visually impaired disproportionately. The well-sighted don't need a specialized parser and formatter for a language as a prerequisite to reasonably comfortably reading and editing because visual alignment suffices. The history of teletypes and keyboards made tabbed indentation an accidental equalizer when it came to source code editing. The well-sighted needed to willfully change convention to discard that benefit, and did so for highly dubious reasons.
[1] Which arose out of the tabs v spaces debate as a principled compromise and is not itself a historical style, AFAIK.