recurse

(recur fun) -> any

(recurse ..) -> any

Реализует анонимную рекурсию, определяя функцию recurse на лету. Во время выполнения fun символ recurse привязан к определению функции fun.

https://software-lab.de/doc/refR.html#recur

Важная концепция и безусловно интересна её реализация в PicoLisp. Как к концепции, к этой теме есть планы вернуться специально. Здесь же только можно заметить, что концепция связана с другой концепцией lambda. Реализация в документации описана достаточно подробно и с большим количеством примеров, см. обе предыдущие ссылки. В связи с этим акцентируется внимание на механизме привязки символов к определениям. Рассматриваются нюансы, например, когда CAR список символов или символ.

“Лямбда-выражение всегда имеет список исполняемых выражений в качестве своего CDR. Однако CAR должен быть либо списком символов, либо одним символом, и он управляет оценкой аргументов исполняемой функции в соответствии со следующими правилами … ” (цитата по ссылке lambda).

Реализована оптимизации “хвостового вызова“, о чем будет ещё замечено в контексте соответствующих функций.