YK
Size: a a a
YK
SD
YK
ХЛ
l
ХЛ
l
ХЛ
ХЛ
l
AP
AP
l
AP
l
a
push
?tconc
в 1960-х, в BBN Lisp. Но я пришел к выводу, что то был неудачный интерфейс.AP
tconc
в 1960-х, в BBN Lisp. Но я пришел к выводу, что то был неудачный интерфейс.a
a
a
tconc
действует на списке, отслеживающем свой хвост (последнюю ячейку), для эффективности. Такие списки можно имплементировать, например, с помощью cons-ячейки, один из элементов которой это последняя ячейка, а другой это собственно тот список, хвост которого отслеживается. Существует два способа реализовать такую структуру: поместить хвост в car либо в cdr. tconc
действует именно на структуре, которая помещает хвост в cdr. Судя по тому, что я вижу, этот способ существенно хуже чем альтернативный. То, что я вижу, подробно описано тут: M-x magit-clone u git@gitlab.com:akater/cl-serere.git
в файле cl-serere-helpers.org
в разделе tail-tracing lists, в самом начале. Можно также попробовать почитать онлайн, но это будет очень неудобно: https://gitlab.com/akater/cl-serere/-/blob/master/cl-serere-helpers.org#L413