Oh, It's not a problem of studying...Really, the interpreter have an evolution of more than 10 years but I've never released it. Actually it use conses in the common way, dotted lists and so on.
It's a little bit difficult to me to explain what I mean, since english is not my mother language. I try. Keep patience.
After Common Lisp, Scheme, Clojure, I've examined newLisp. I don't like it, but this one don't uses the dotted syntax. Why? To simplify the interpreter? Ok ... so if I can't use the "dot" there isn't a "cons" function that really make a proper list. Seem that
(rest (cons 'a b')) return '(b)
(cons 'a 'b) is equal to (list 'a 'b)
Deleting the "dot" sintax from the reader, there is no way to make a pair where there's an atom in CDR. Will be sure that CDR will always point to a list. Then, for consistency I cannot print a dotted pair, and I cannot give to the user a function that make it one. At the end of the circle, it's only a rule. The instrument don't give me the possibility to represent a dotted pair but permit me only to make proper lists.
Then I can use proper lists for association lists, tree and other structures based on conses, with the only differences that use extra space to allocate an extra cons cell.
I'm not considering to change internal representations of Conses at the moment. I'm only asking to me (and you
) if today there is a reason to implement new Lisp dialects that use this sintax instead of representing everything with proper lists.
Probably I'm missing the extra code to extract an element from this structures that produce inefficency.