>Those are valid points, yet I would still like to see CL become more appealing to programmers from other languages, whose baggage becomes relevant to their intuitions.
I suspect that's the reason for libraries like CL21.
However the specification for the language known as Common Lisp defines a language that is mutable by the user. We don't need to change the specification to experiment with syntactic changes that could benefit new users.
> This Common Lisp reference [1] equates "cdr" with "rest".
That would be a common mistake I've had to overcome when I first started learning Common Lisp. Consider:
(cdr '(1 . 2))
What's the value?
Hint: It's not a list. So why conflate CDR with REST? They're completely different things.
(cddr '(1 . (2 . 3)))
What's the value? Can you guess how that works? Hint... if it's a macro it might expand to:
Again, not REST. Not a list. It just so happens that when you have a structure like:
(1 2 3 4)
You can get (2 3 4) by:
(cdr '(1 2 3 4))
But that's because:
(1 2 3 4)
Is the same as:
(1 . (2 . (3 . (4 . nil))))
And that is the only syntactical sugar Lisp has afaik. You could configure your printer to print out the actual cons structure if you'd like but the shorthand is useful because this data structure in particular is so eponymous.
I suspect that's the reason for libraries like CL21.
However the specification for the language known as Common Lisp defines a language that is mutable by the user. We don't need to change the specification to experiment with syntactic changes that could benefit new users.
> This Common Lisp reference [1] equates "cdr" with "rest".
That would be a common mistake I've had to overcome when I first started learning Common Lisp. Consider:
What's the value?Hint: It's not a list. So why conflate CDR with REST? They're completely different things.
What's the value? Can you guess how that works? Hint... if it's a macro it might expand to: http://www.lispworks.com/documentation/HyperSpec/Body/f_car_...Again, not REST. Not a list. It just so happens that when you have a structure like:
You can get (2 3 4) by: But that's because: Is the same as: And that is the only syntactical sugar Lisp has afaik. You could configure your printer to print out the actual cons structure if you'd like but the shorthand is useful because this data structure in particular is so eponymous.