У меня, кстати, есть вопрос к знатокам ФП:
Как в ФП-стиле грамотно (в смысле — красиво и эффективно) решить задачу вычисления трансцендентной функции разложением в ряд Тейлора (или иной бесконечный ряд) с заданной точностью? В императивном стиле алгогитм решения этой задачи сводится к одному циклу while — красиво, понятно, легко верифицируемо и эффективно с точки зрения расхода процессорного времени и памяти. А в функциональном стиле как?
Функции высшего порядка типа foldl тут не подходят, так как они представляют собой примитивно-рекурсивные функции (аналог цикла for в ), а вычисление ряда с заданной точностью — это уже частично рекурсивная функция!