Просто пытаясь выполнить упражнение 3.7 (стр. 31) из руководства YAHT Хала Дауме III, я попытался определить функцию Фибоначчи:
fibo 1 = 1
fibo 2 = 1
fibo n = fibo(n-1) + fibo(n-2)
Затем я запросил
fibo(3)
и получил:
*** Exception: stack overflow
Когда я посмотрел на решение упражнения, я нашел точно такой же код (с той разницей, что функция называется fib, а не fibo). Что я делаю не так?
(руководство написано в 2006 году, может быть, язык изменился между ними?) (Ирония c, что я спрашиваю stackoverflow о проблеме переполнения стека…)