The whole point is that it isn't like duck. The general evaluation rule with few special cases is broken, it is a whole bunch of special cases. Adding data-structures to a Lisp ruins it. It become a mess of a wired syntax, various comprehensions and unnecessary explicit conventions.
The beauty and elegance of a Lisp lies in that there is nothing to remove - a few selected ideas put together - and one common for code and data underlying list structure. This leads to a compact, readable code with relatively easily "maps to" machine code, because the memory is flat.
I don't care what Rich Hickey said. For me he is much better salesman, than engineer. He is very clever at selling, no doubt. But the whole Java scam is about clever selling of unnecessary complications from the very first days.
Moreover, those Lisp experts I have learned from didn't even mention Clojure.)
In Clojure the data structures work consistently across the language, which to me is one of many reasons why Clojure is a better Lisp than Common Lisp (but CL has its place).
> Moreover, those Lisp experts I have learned from didn't even mention Clojure.
On the contrary, Clojure is and has since its inception been praised and often adopted by prominent users of Scheme and Common Lisp (the list is too long, but for example the late Daniel Weinreb declared Clojure the future of Lisp). The Clojure conference in Portland this last few days is a perfect example of the cross-fertilization between the Racket/Scheme logic programming subcultures and the Clojure logic programming subcultures.
Come on. Arrays are absolutely necessary for certain algorithms, so, they are here, so are efficient hash-tables. Structures (records) were standardized, but they are nothing but a bunch of macros. And that is good-enough.)
I'm a virtual student of prof. Brian Harvey (and reader of pg and Norvig).
And there is nothing special in trying to "port" the ideas form the "old" Lisp world to Clojure and present them as a new. Simple trick. All those logic programming buzz is from karen, query language of datatomic is from old expert systems, etc.
The beauty and elegance of a Lisp lies in that there is nothing to remove - a few selected ideas put together - and one common for code and data underlying list structure. This leads to a compact, readable code with relatively easily "maps to" machine code, because the memory is flat.
I don't care what Rich Hickey said. For me he is much better salesman, than engineer. He is very clever at selling, no doubt. But the whole Java scam is about clever selling of unnecessary complications from the very first days.
Moreover, those Lisp experts I have learned from didn't even mention Clojure.)