2 ms·
> If I have to write 1 + 2 * 5 - 3 That's a great example of an expression that can be ambiguous, but not with prefix/suffix notation. Most people that write
by gorjusborg 2y ago
> If I have to write 1 + 2 * 5 - 3
That's a great example of an expression that can be ambiguous, but not with prefix/suffix notation.
Most people that write lisp-like code use an editor that helps with s-exp editing (like paredit), so that isn't really a significant issue. In fact, I think it is faster to write s-exp code than algol-likes once you've become accustomed.
I agree that formatting is very important w/ parens langs, but there are many languages that consider formatting a high concern.
I would also argue that reading code is harder than writing it. Optimizations that speed up writing code is less interesting to me than ones the help reading/understanding/making assertions easier about code.
Finally, infix notation is available in lisp/scheme, it's just a macro away (but seriously, don't).
- koito17 2y agoI find value in ease of "local" modifications to code. My editor being able to indent as soon as I type or paste code is a huge time saver. What's an even bigger time saver is my editor being able to perform tree operations on tree-like data. When using "curly brace languages", what I really miss is structural editing. I often deal with tree-like structures in any language, and being unable to simply cut a node, move my cursor to the start/end of a node, nest something, etc. is really inconvenient. These are operations that take me at most a second when using Emacs with smartparens. In JSX, for example, these one-second operations need me to imitate smartparens' behavior by hand then run Prettier since indenting by hand is an even bigger waste of time. Transforming e.g. <Foo> <Bar> <Baz /> </Bar> </Foo> to <Foo> <Bar /> <Baz /> </Foo> takes *seconds* even though the equivalent operation with S-expressions is a single keybind in Emacs.