В языке программирования Clojure, почему этот код проходит безупречно?
(let [r (range 1e9)] [(first r) (last r)])
А вот этот:
(let [r (range 1e9)] [(last r) (first r)])
Я знаю, что он о совете «Потерять голову», но не могли бы вы объяснить его мне? Я пока не могу это переварить.
ОБНОВЛЕНИЕ:
Подобрать правильный ответ действительно сложно, два ответа потрясающе информативны.
Примечание: фрагменты кода взяты из книги "The Joy of Clojure".