My other car

Материал из Lurkmore

(Перенаправлено с Cudder)
Перейти к: навигация, поиск
Eri x Yakumo.jpgВ эту статью нужно добавить как можно больше читавших SICP.
Также сюда можно добавить интересные факты, картинки и прочие кошерные вещи.

My other car is a cdr — вариант старого мема (популярной темы для наклеек на бампер, «My other car is a bus» и т. п.), пришедший из православно-буддистского языка программирования LISP, который является путем к просветлению, и английского языка.

В LISP функции получения «головы» (первого элемента списка) и «хвоста» (всех элементов списка кроме первого) называются соответственно car и cdr. Забрав из списка первый элемент, можно работать с ним, а затем повторить то же самое действие для всего остального списка.

Это про хвостовую рекурсию, да.

Ну и Erlang это умеет (спойлер: Там и циклов-то нет.)

Вариации

Мини-комбо
my other car is
(reduce #'(lambda (x y) (if (atom x) (list y) (cons x y))) a)

Употребляется во множестве различных вариаций, например, «my other joke is slightly amusing», что в наших интернетах было бы подобно деанонимизации в постере Евгения Вагановича Петросяна.

Также может употребляться контекстуально, например, «my other cat is a cdt», вклиненное в беседу о домашних котах.

См. также


Источник — «http://lurkmore.co/My_other_car»