Still prefer first and rest. At least that has meaning outside the first use of car and cdr.
- the symmetry: 'c[ad]r'
- thus same size
- small size (3)
and ended up being annoyed by `first` and `rest`. I see them as APL-like characters now.ps: based on that, head/tail, hd/tl, fst/snd (seen in ml dialects) are also good candidates.
But why SBCL? LAST should behave the same on all implementations.
First, Rest, Most, Last
(Results on Range[4], respectively: 1, {2, 3, 4}, {1, 2, 3}, 4.)
>> a: [1 2 3 4]
== [1 2 3 4]
>> first a
== 1
>> last a
== 4
This is how you could add rest & most: >> rest: func [s] [next s]
>> most: func [s] [copy/part s back tail s]
>> rest a
== [2 3 4]
>> most a
== [1 2 3]
Rebol unifies all this under what it calls a series - http://www.rebol.com/docs/core23/rebolcore-6.htmlCar and Cdr are arbitrary and legacy terms.
I'd rather salt my eyeballs.