LINUX.ORG.RU

справочник по «функциональным» алгоритмам


7

5

Есть ли какой-нибудь всеобъемлющий справочник/кукбук, содержащий функциональные версии базовых алгоритмов? Какой-нибудь функциональный аналог «алгоритмов на c++» Седжвика.

Т.е. что-нибудь такое, разбору чего можно было бы вдумчиво посвятить некоторое время и потом знать, что на ровном месте не влипнешь в какие-нибудь дурацкие нубские переделки.

Важно

1) Иметь разбор влияния на производительность. Как с точки зрения самого алгоритма, так и нижележащей реализации «машинок» стандартной библиотеки.

По поводу алгоритма совсем хорошо было бы видеть формальное доказательство сложности или что-то такое, чтобы прочувствовать его дух.

Подразумеваются такие алгоритмы, которые написаны держа в уме оптимизацию по перфомансу, а не только и не столько по человекочитаемости.

2) Интересны варианты при отсутствии в движке (копиляторе, vm, итп) встроенной оптимизации хвостовой рекурсии, и долгой рекурсии как таковой (глубина вложенности, время исполнения).

3) Язык предпочтительно - лисп с минимумом извращенных ридеров. Ну или что-нибудь другое адекватное, легко переносимое на другие синтаксисы.

Хорошо если автор этого гипотетического справочника болел бы JVM (clojure, scala, groovy, java8) и приводил бы детали реализации на чем-то из этого, и мог бы сказать что-то по поводу нижележащей реализации на JVM.

На самый край подойдут извращения в виде Java8 или Java7+FunctionalJava, или PHP с замыканиями.

★★★★☆

Кроме Окасаки ничего нет.

anonymous
()

Крис Окасаки (Ахтунг, ахтунг: к прочтению допускаются лица с IQ-шкой много выше среднего)

anonymous
()

Есть еще такая замечательная вводная книга «Algorithms - A Functional Programming Approach». Хаскеля можно почти не знать.

dave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.