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

Technically, of course, there are no statements in Lisp; there are only expressions (forms, Lisp calls them).

The artificial distinction between statements and expressions is a source of endless annoyance to me when I'm working (as I do, for my day job) in a language that has it. In Lisp I can say things like

  (when (some (lambda (x) ...) some-list)
    (do-something))
There, I've written a loop in the predicate of a conditional (the 'some' expression is true if the function passed to it returns true on any element of the list). Statement-oriented languages have generally not had an elegant way to do that, though admittedly that is changing somewhat, as lambda expressions and higher-order functionals become more popular.

The point is, I think this complaint, about the statement/expression distinction, has a lot more substance than complaints about either parentheses or semicolons.



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

Search: