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

Other languages have absorbed just about all the other key lisp ideas. Garbage collection, first-order functions, dynamic typing etc are all uncontroversial now. I don't think it's an accident that s-exprs have been conspicuously unpopular in comparison.

I actually find the Clojure syntax harder to parse. Nested mixtures of }, ], and ) are very difficult to pick apart visually.



"Nested mixtures of }, ], and ) are very difficult to pick apart visually."

And nested ), ), and ) are easier to pick apart visually?

At least with }, ], and ) you know any given } matches a { and not a ( or a [. Whereas with all )'s, it's a lot harder (for me) to know which ( in a mountain of ('s it's going to match.

A good editor and proper indenting will, of course, mitigate some of the pain. But I'd MUCH rather have a mix of {'s, ['s, and ('s, than all ('s.


At least with }, ], and ) you know any given } matches a { and not a ( or a [. Whereas with all )'s, it's a lot harder (for me) to know which ( in a mountain of ('s it's going to match.

I have found the opposite. It's a lot easier to close with a bunch of )))s at the end of a line than to flip around with the )]}]))} line noise. I let my code's structure give me meaning. I am less concerned with matching things and more concerned with readable code arrangement. It is easier for me to read English-like words than a bunch of symbols. As a result, the ))s are almost equivalent whitespace with the exception that they provide useful and common structure.


paredit.


And nested ), ), and ) are easier to pick apart visually?

You don't have to pick them out in CL, just balance them. Much easier (IMO).


You don't have to pick them out or balance them in any lisp. That's what paredit is for.


So easy that a decent text editor can do the job.


You can't introduce s-exprs into an ordinary language - it would cease to be an ordinary language and become a Lisp dialect instead.


Macros.


What about them?


cageface missed the major reason why Lisp in general is powerful: prefix notation is really the only clean way to implement macros.

The rest is just icing on the cake.


S-exprs == macros


Those two things are not equivalent at all. I don't think you understand what you are talking about.

S-expressions define a class of syntax styles. By themselves, they have no semantic characteristics at all. Macro's are a way in which the compiler rewrites the syntax tree based on user programs. Do you see the difference?




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

Search: