Fix thunk leak

This commit is contained in:
2021-10-29 17:54:28 +01:00
parent 50d0f18ab7
commit 4480d0f7c7
+6 -4
View File
@@ -24,7 +24,7 @@ import Data.List
import Data.Maybe
import Data.Function
import qualified Data.Set as S
import qualified Data.IntMap.Lazy as IM
import qualified Data.IntMap.Strict as IM
import Control.Lens
import Data.Monoid
import System.Random
@@ -184,7 +184,9 @@ updateSeenWalls w = foldl' markWallSeen w wallsToUpdate
$ nRays 20
markWallSeen :: World -> Wall -> World
markWallSeen w wl = w & walls . ix (_wlID wl) . wlSeen .~ True
markWallSeen w wl = w { _walls = IM.adjust mw (_wlID wl) $ _walls w }
where
mw wl' = wl' {_wlSeen = True}
--setTestStringIO :: IO World -> IO World
--setTestStringIO = fmap (\ w -> set testString (show $ s w) w)
@@ -310,6 +312,6 @@ visibleWalls p1 p2 ws
. sortOn (dist p1 . fromJust . fst)
. filter ((/=) Nothing . fst)
. map f
$ IM.toList ws
$ IM.elems ws
where
f (i,wl) = (uncurry intersectSegSeg (_wlLine wl) p1 p2, wl)
f wl = (uncurry intersectSegSeg (_wlLine wl) p1 p2, wl)