>>244
This idea that Clojure is not real Lisp because of the (seeming) extra syntax is just a kneejerk reaction. Clojure is a language defined in terms of its own data structures -- it just has 4 of them instead of 1. The thing that makes lists convenient for homoiconicity is their immutability. Invent immutable sets, vectors, and maps, and suddenly they're fine to have at the meta level as well. It does NOT make writing macros harder. #{1 2 3} is not syntactic sugar for (set 1 2 3). It's just a set. Both at compile time and run time. It does NOT become irrelevant after a few levels of macro, because they're
always there, just like lists, symbols, and numbers. I think a lot of Lispers and Schemers don't realize this, or don't internalize it properly.
I gave up on Racket/Scheme when I tried playing around with hash tables and found that there were like 12 of them, all mutable.
fuck that. There are some basic things I want served to me on a silver platter when I grab a high level language. Associative arrays with a literal form is one.
call/cc? Less so.
I like that Clojure doesn't treat
general purpose good ideas as
domain specific ideas.
like Scheme does