>>45You're confused. What you see in Scheme is a type error, but what Clojure complains about in
>>41 is a syntax error.
You see, we've already acknowledged that Lisp code can operate on various data structures. The question is whether the code itself is made up of s-exps exclusively. In Scheme, it is. In Clojure, it's not.
Take Racket for example. You'll often see []'s mingled with ()'s in people's code. Does that mean Racket is not a Lisp? No, it doesn't, because in Racket []'s are equivalent to ()'s (so it's possible to use only ()'s or only []'s if one so wishes). Thus, when writing code by hand or working with syntax objects, one does not have to worry about any non-homogenous syntax. It's lists all the way down. But in Clojure, you're locked into that overtly complex syntactic prison. You have to know which goes where, lists or vectors, ()'s or []'s, they have their strictly defined places. You have to keep another layer of syntax complexity in your head. And all of this for no reason because s-exps have proven themselves to be perfectly valid and fitting to represent code. That's why Clojure is not a Lisp (and hence crap).