Yes, sometimes 'car' and 'cdr' are replaced with 'first' and 'rest' and are some of the first things you cover when learning the language, so I don't think the names would really be hindering adoption for those that try to learn the language. The benefits of car and cdr are that they can be composed: (caadr l) instead of (car (car (cdr l))) for example.
Re:The Lisp Curse (2011)
by AnimalMuppet on Thursday February 25, 2016 @01:14PM
(#11176388)
Well, if you use "first" and "rest", then (caadr l) could become (firrest l) or something like that...
Re:The Lisp Curse (2011)
by bhrgunatha on Thursday February 25, 2016 @09:38PM
(#11179498)
I like Racket's second, third, fourth,... etc. [1]
I don't think there's an equivalent to cddadr for example, but at that level of deconstruction you're better off abstracting the data structure (maybe a struct [2]) or using some other mechanism like match [3]
[1] http://docs.racket-lang.org/reference/pairs.html?q=second#%2...
[2] http://docs.racket-lang.org/reference/define-struct.html?q=s...
[3] http://docs.racket-lang.org/reference/match.html?q=match#%28...
Re:The Lisp Curse (2011)
by defgeneric on Thursday February 25, 2016 @12:10PM
(#11175867)
Yes but can you do caaaaaar or caaddaar or cdaar, etc. with head and tail?
In 5 characters with cadar you can express walking along a tree structure to get exactly the node you want.
car, cdr, cadr, and friends are discouraged in some Lisp communities where pattern matchers are available.
Re:The Lisp Curse (2011)
by AnimalMuppet on Thursday February 25, 2016 @01:22PM
(#11176457)
Sure. caaaaaar -> heaaaaaad. cadar -> heaiad. It's one more character, but if you really want to express yourself that way, there's no reason you couldn't...
(I think they are replaced in modern versions but my point still stands as I remember the old ones, not the new)