4 ms·
People complaining about parens/brackets in lisps have never really used structural editing. Change my mind!
by rscho 2y ago
People complaining about parens/brackets in lisps have never really used structural editing. Change my mind!
- wavemode 2y agoParentheses in lisp are a lot like significant indentation (Python, Haskell, etc), in that people tend to complain about it "from afar". It is only once they start actually using the language to develop something nontrivial, that they realize that you quickly stop noticing the syntax entirely.
- frou_dh 2y agoI basically agree with you, however thought the following was an interesting idea about it perhaps not always being that simple: https://news.ycombinator.com/item?id=33166116 https://news.ycombinator.com/item?id=33166116
- cageface 2y agoAfter 20 years of using python I still think significant whitespace is a flaw. It saves a little bit of typing in exchange for a lot of ambiguity.
- xigoi 2y agoThere is no ambiguity with significant whitespace.
- Out_of_Characte 2y agoThere is, four abstractions down,my comment gets squished as a sardine
- zelphirkalt 2y agoProblem is always when you need to move code, select/highlight code, paste code, navigate code, and so on. With clear start and end markers like open and close parentheses or like "begin" and "end" in other languages, that problem does not even exist.
- xigoi 2y agoThose actions have never been a problem for me. Maybe get a better editor?
- zelphirkalt 2y agoBasically, you are confirming, what the original comment said. I now strongly suspect, that you have never used structured editing, which is where the issues with Python syntax are. Where paredit for Python?
- xigoi 2y agoWhen using structured editing, why does it matter what the syntax is? The editor is going to handle it for you anyway. > Where paredit for Python? I don’t know, go make it. But what would you imagine it to do? Moving blocks of indented code around is already easy without needing language-specific treatment.
- zelphirkalt 2y ago> When using structured editing, why does it matter what the syntax is? The editor is going to handle it for you anyway. It matters, because the start and end markers of code allow for easy recognition of where something starts and ends and make the move independent from things like indentation. In Python, if you wanted to do the same, you would have to change indentation in many cases. Also the language is less expression based, which makes it even harder to, for example slurp a block/unit of code, because it is not clear how far the slurping should go. > I don’t know, go make it. But what would you imagine it to do? Moving blocks of indented code around is already easy without needing language-specific treatment. Well, I am not the one claiming here, that it does not matter, whether there are start and end markers for blocks of code, so the onus is not on me to make this thing, it is up to you to prove it can be done. Lets not try to reverse the obligation of proof here.