That's long ago. That was kind of true in the mid 70s.
> and no compatability with Racket is ridiculus
CL has no Racket compatibility. Zero. Racket has no CL compatibility. Zero. Porting programs is a full rewrite.
> Clojure's website claims it is a "dialect of lisp,"
Best it is a new language, derived from Lisp and influenced by C++, C#, Common Lisp, Erlang, Haskell, Mathematica, ML, Prolog, Scheme, Java, Racket, Ruby.
'Dialect' in this case is the euphemism for 'fully incompatible' with 'random operator renames and shuffling functionality' where it kind of looked compatible.
> As make no mistake, all of these languages, from Common Lisp to Clojure to Scheme, are dialects.
Sure, but not of Lisp. Of those three, only Common Lisp is a Lisp dialect.
> They have the same origins, and they share many of the same ideas.
Less and less. As a starter: Clojure has no Lisp lists as basic data structure.
And it had better not be nil/false equality. Even McCarthy says that was, if not a mistake, then an accident.
As for Clojure not having Lisp lists, its list implementation is... eccentric, but it DOES have lists.
Actually, scratch that, its list implementation, from a Lisp perspective is broken. Psychotically broken. But it DOES have one. Even if it's insane. What, will you say the same about newlisp lists?
For that matter, is Picolisp a Lisp?
EINE: Eine is not Emacs.
ZWEI: Zwei was Eine, Initially.
And, thus:
SWALANI: Swalani Was A Lisp, And Now Isn't.
A dialect waiting to be invented.
:)
What might be a recursive acronym for Scheme, though?
Oh, oh ... I just got one:
"Scheme Crams Hygiene into Every Macro Expansion."
The acronym's good though, I just didn't want anybody else thinking that was true, given how many people already do.
R6RS
> As for Clojure not having Lisp lists, its list implementation is... eccentric, but it DOES have lists.
Lazy persistent sequences is the basic abstraction.
Have you looked at R7RS, the latest spec, that goes back to the drawing board on a lot of the stuff R6RS did?
To say that there's compatability between Scheme and CL, and no compatability with Racket is ridiculus: Racket has Scheme compatability modes.
As for the language being called Lisp if it's Lisp, two of the examples you list in the "non lisp" category do so: Clojure's website claims it is a "dialect of lisp," and AIM-349 describes scheme as "essentially a full-funarg LISP."
As make no mistake, all of these languages, from Common Lisp to Clojure to Scheme, are dialects. They have the same origins, and they share many of the same ideas.