Рекурсия в LISP без использования меток - PullRequest
1 голос
/ 26 января 2012

Я начал изучать LISP и услышал, что есть какая-то хитрость для рекурсии без использования меток (только с использованием: quote, atom, eq, car, cdr, cons, cond).

Iнемного подумал, но я не могу придумать, как это сделать, так как определенная мной функция не имеет имени.

Я предполагаю, что это сделано с помощью cond, не знаю, как ...

[вопрос в том, как реализовать рекурсию с ограничениями, указанными выше]

1 Ответ

5 голосов
/ 26 января 2012

Для анонимной рекурсии вам понадобится комбинатор с фиксированной запятой, самый известный из которых известен как комбинатор Y. Ричард Габриэль "Почему из Y" - хорошая статья, которая выводит и оправдывает Y на схеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...