3 ms·
IMHO, those who suggest eliminating the parentheses don't yet understand lisp. What's wrong with the three equivalence transformations of OP? It's the same lan
by singularity2001 7y ago
IMHO, those who suggest eliminating the parentheses don't yet understand lisp.
What's wrong with the three equivalence transformations of OP? It's the same language, only that newline/indent serve as hidden parentheses.
f(a b) == (f a b)
{a f b} == (f a b)
f
a b ≛ (f (a b))
- didibus 7y agoIt seems a lot more complicated. You have to parse the type of bracket used, you have to move your eyes across lines to understand nesting. I don't know. I find the Lisp way on the right side way more readable, but I'm an active Clojure developer so maybe there's that.
- geocar 7y ago> What's wrong with the three equivalence transformations of OP? Objectively: 1. I can't look at a line and tell if I have a complete expression. I must look at the following line and compare its indention level to this line. I may also need to look at the previous line(s) to see if we've switched to infix unexpectedly. 2. Indention means your programs will be bigger in physical area (meaning more scrolling). Pragmatically: 3. People are unable to reliably copy/paste indention-languages into many web forums (like HN and Reddit) making it harder for them to get the help they need when starting out. 4. It's slower and more complex to parse, making build/compile times slower. Subjectively: It just looks worse.