| > Why would you just randomly change indentation? On the contrary, I don't want the indentation to say something else than the code actually does. Because the user may want the development environment to display snippets of code in various places: REPL, debugger, code browsers, inspectors, various editor types, ... In a Lisp system the code can be data and text. Code formatters can reformat code depending on user preferences, device types (color, font, ...), view sizes, ... In Lisp often code gets generated (for example via 'Macros') and this code will be automatically layouted in various view (different widths, different fonts, different detail). Code can be small or large, the system may abbreviate parts, which one can expand, if necessary. Source Code is not necessary static text in a file system. Code can just be list-based data structures and layout is fluid. In Common Lisp the formatted output of code is also user extensible/customizable, a 'pretty printer' is a part of the language spec: https://www.lispworks.com/documentation/HyperSpec/Body/22_ba... If we read a text in a book reading the device, one can also change for example font size and the thing will relayout the text accordingly. |