Restarts, call/cc, reasonable error reporting, reasonable error reporting, real tail-call elimination.
http://okmij.org/ftp/continuations/undelimited.html#delim-vs...
Maybe I don't understand what you mean. I also don't see why a uniform cell structure would be preferable?
Scheme:
(define x (cons 'a (cons 'b '())))
;> (a b)
(define y (cons 'a 'b))
;> (a . b)
(cdr x)
;> (b)
(cdr y)
;> b
(eq x y)
;> #f
If clojure doesn't behave like that, that it's not using real conses.As for why a uniform cell structure is preferable, it's a preference thing, but I feel it makes dealing with lists and other cons-based structure (mostly lists, but you get the occaisional alist or plist or tree in there too) much nicer.
Once upon a time, there was a serious continuations-on-the-JVM proposal, but it fizzled. Rather sad.
Fixnums would also help Clojure.