Привет, Хаброжители! Книга «Рекурсивная книга о рекурсии» содержит примеры кода на языке Python и JavaScript, которые иллюстрируют основы рекурсии и проясняют фундаментальные принципы всех рекурсивных алгоритмов. Из книги вы узнаете о том, когда стоит использовать рекурсивные функции
Содержание четвёртой части:Обобщение свёрток/развёртокПараморфизм и другие схемы рекурсииХистоморфизмФутуморфизм Читать далее
Слово «рекурсия» происходит от латинского «recursio» – «круговорот, возврат». Применительно к вычислениям этот термин относится к алгоритмам, повторяющих какие-либо действия. Этот обзор посвящён типам, которые обслуживают рекурсивные алгоритмы.Это вводная часть и собственно про типы здесь будет мало что сказано. Содержание:Вычислимые функцииЦиклы и рекурсияCтек и хвостовая рекурсияСсылки вперёдY-комбинатор в λ-исчисленииРеализация комбинатора неподвижной точки Читать далее
Уже давно определённые вещи из мира функционального программирования всё сильнее проникают в нефункциональные языки. Может показаться странным, что в Java смогли интегрировать лямбда-выражения, а вот оптимизацию хвостовой рекурсии (преобразование рекурсии в эквивалентный цикл) до сих пор не сделали, хотя она гораздо проще. Почему её нет? Попробуем разобраться с причинами и посмотрим, что можно сделать своими руками. Читать дальше →