Tiempo fuera de funciones puras
¿Cómo puedo "matar" un cálculo puro que está tomando demasiado tiempo? Lo intenté
<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>
Sin embargo, esto no funciona. Reemplace la(return . fact) 99999999
con una función IO "real" comogetLine
y esto funciona como se esperaba.