Day 5 - very slight performance improvement with strictness during recursion

This commit is contained in:
Jonathan Chan 2017-12-23 17:32:25 -08:00
parent d7ec7ed65b
commit 41d62689df
1 changed files with 2 additions and 2 deletions

4
05.hs
View File

@ -10,8 +10,8 @@ next f (steps, i, jumps) =
in (steps + 1, i + value, insert i (f value) jumps)
getExitSteps :: Int -> Update -> State -> Int
getExitSteps len f (!steps, i, jumps) =
if i >= len then steps else getExitSteps len f $ next f (steps, i, jumps)
getExitSteps len f state@(!steps, i, _) =
if i >= len then steps else let !nextState = next f state in getExitSteps len f nextState
main :: IO ()
main = do