Day 5 - very slight performance improvement with strictness during recursion
This commit is contained in:
parent
d7ec7ed65b
commit
41d62689df
4
05.hs
4
05.hs
|
@ -10,8 +10,8 @@ next f (steps, i, jumps) =
|
||||||
in (steps + 1, i + value, insert i (f value) jumps)
|
in (steps + 1, i + value, insert i (f value) jumps)
|
||||||
|
|
||||||
getExitSteps :: Int -> Update -> State -> Int
|
getExitSteps :: Int -> Update -> State -> Int
|
||||||
getExitSteps len f (!steps, i, jumps) =
|
getExitSteps len f state@(!steps, i, _) =
|
||||||
if i >= len then steps else getExitSteps len f $ next f (steps, i, jumps)
|
if i >= len then steps else let !nextState = next f state in getExitSteps len f nextState
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
|
|
Loading…
Reference in New Issue