From 41d62689df037683ff8c07e81d501cb5c432c092 Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Sat, 23 Dec 2017 17:32:25 -0800 Subject: [PATCH] Day 5 - very slight performance improvement with strictness during recursion --- 05.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/05.hs b/05.hs index 54064eb..6a46257 100644 --- a/05.hs +++ b/05.hs @@ -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