2016-10-18 4 views

ответ

3

Импорт Data.Function и использовать функцию fix для вычисления неподвижной точки , не -recursive функции, которая принимает функцию, чтобы применить рекурсивно в качестве аргумента

> import Data.Function 
> :t fix 
fix :: (a -> a) -> a 
> apply (fix $ \f n -> if n == 0 then 1 else n * f (n - 1)) 3 
6 
Смежные вопросы