Czas działania czystych funkcji

Jak mogę „zabić” czystą kalkulację, która trwa zbyt długo? próbowałem

<code>import System.Timeout

fact 0 = 1
fact n = n * (fact $ n - 1)

main = do maybeNum <- timeout (10 ^ 7) $ (return . fact) 99999999
          print maybeNum
</code>

Jednak to nie działa. Zastąp(return . fact) 99999999 z „prawdziwą” funkcją IOgetLine i to działa zgodnie z oczekiwaniami.

questionAnswers(1)

yourAnswerToTheQuestion