Temporizando funções puras
Como posso "matar" um cálculo puro que está demorando demais? eu tentei
<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>
No entanto, isso não funciona. Substitua o(return . fact) 99999999
com uma função IO "real" comogetLine
e isso funciona como esperado.