Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>More than anything else, I think it is the ability of Lisp programs to manipulate Lisp expressions that sets Lisp apart. And so no one who has not written a lot of macros is really in a position to compare Lisp to other languages. When I hear people complain about Lisp's parentheses, it sounds to my ears like someone saying: "I tried one of those bananas, which you say are so delicious. The white part was ok, but the yellow part was very tough and tasted awful." – Paul Graham

Lisp programmers don't deal with "parens hell". That's one of the misconceptions that come from outsider looking in. Parens are for the editor. Lisp indeed uses indentation and not parens as you said. It's very python-like that way."You have reached Lisp enlightenment when parens disappear"

I think it would be real helpful to have editor for beginners that shows parents as transparent and low contrast, separately from the rest of the code. It would help people to understand they should not be trying to match them visually.



If Lisp uses indentation and not parenthesis, then why is my mental caricature of Lisp just ((())))(()))((())))()()()(())))((())))?


Educated guess: because you have zero experience developing an application or utility program in a language in the Lisp family. Because then if you still harbored a caricature, it would probably be more sophisticated.


S-expressions are used for other things as code as well. Like representing just data.

Your example expressed in Python is something like [[[]],[],[[],[]] ...


Because it’s just that, a caricature. Having spent enough time using sexps (primarily in Clojure) I’ve found that with a decent editor it is about identation and line breaks, which is generally true of most languages.


Because you never really tried it for longer than 25 seconds?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: