Hacker News new | ask | show | jobs
by speed_spread 1545 days ago
Let's see:

- Insists on every expression being (wrapped (in parenthesis))

- Uses polish prefix notation

- Profound belief that recursion is more intuitive than loops

- Macros everywhere, because code is data, so why not?

- Whole language built from a very small set of axioms

- REPL-based workflow

QED Clojure is _a_ Lisp.

(FWIW I'm learning Racket right now)

1 comments

Lisp: "List processing". Clojure doesn't even have cons cells... A Lisp without cons cells is like a C derivative without pointers...is it really C at that point? I'd also question the "profound belief that recursion is more intuitive than loops" since Lisp supports loops extremely well -- better than most languages, since you can build up your own iterative constructs using tagbody. And Clojure doesn't even have proper tail calls, so I doubt that Clojure actually believes in recursion.
Clojure doesn't have tail calls because they should be implemented at the JVM level to be effective, a feature which has been on the back burner for ever because no other languages would use them.
Programming languages on top of the JVM would not use that? Who said that?