I
raged then I
ranted. Goddamn idiots implementing their stupid ideas in subpar interpreters (Guido van Rossum, Yukihiro Matsumoto, Stephen Bourne, Larry Wall, Bill Gates etc)
A copy of my blog comment rant, currently awaiting moderation, follows:
That you think
(lambda args ...) is a different notation than
(lambda (x . rest) ...), that
(a b c) is a different list syntax than
(a b . c) and that improper lists where just some space hack shows that you have absolutely no idea what you are talking about. Not to mention that conses can represent a heck of a lot more than just lists.
Mohamed Samy is right. Improper lists are the perfect matching rules for lists such as arguments.
You may want to review SICP video lecture 4a (google video
http://video.google.com/videoplay?docid=6196234900528730258).
But feel free to implement your ill-thought out semantics and ignore 30 years of refinement of the Scheme language by some of the greatest minds in Computer Science. Feel free to create yet another shitty ad hoc language defined by an interpreter. Because I will ignore your work like the piece of amateur rubbish it is, written by someone too lazy to implement things correctly.
Good riddance.