From: Neil Smith <NeilNjae@users.noreply.github.com>
Date: Mon, 12 Dec 2022 11:37:31 +0000 (+0200)
Subject: Tidying
X-Git-Url: https://git.njae.me.uk/?a=commitdiff_plain;h=75c68345bc86cf90827b713603582ef52902429d;p=advent-of-code-22.git

Tidying
---

diff --git a/advent09/Main.hs b/advent09/Main.hs
index 1e23f78..1314035 100644
--- a/advent09/Main.hs
+++ b/advent09/Main.hs
@@ -33,12 +33,12 @@ main =
       print $ part1 steps
       print $ part2 steps
 
-part1 :: Path -> Int
-part1 steps = S.size $ rope' ^. trace
-  where rope' = ropeSteps (newRope 1) steps
+part1, part2 :: Path -> Int
+part1 steps = S.size $ rope ^. trace
+  where rope = ropeSteps (newRope 1) steps
 
-part2 steps = S.size $ rope' ^. trace
-  where rope' = ropeSteps (newRope 9) steps
+part2 steps = S.size $ rope ^. trace
+  where rope = ropeSteps (newRope 9) steps
 
 
 expandPath :: [Direction] -> Path
@@ -48,7 +48,6 @@ expandPath = concatMap expandStep
         expandStep (D n) = replicate n (V2  0 -1)
         expandStep (R n) = replicate n (V2  1  0)
 
-
 manhattan :: Position -> Position -> Int
 manhattan p1 p2 = max dx dy
   where V2 dx dy = abs $ p1 ^-^ p2
@@ -67,21 +66,17 @@ ropeSteps rope steps = foldl' ropeStep rope steps
 
 ropeStep :: Rope -> Position -> Rope
 ropeStep rope step = rope & headK .~ h
-                          & knots .~ (reverse kts')
-                          & trace %~ S.insert (head kts')
+                          & knots .~ (reverse kts)
+                          & trace %~ S.insert kt
   where h = (rope ^. headK) ^+^ step
-        kts = rope ^. knots
-        (_, kts') = foldl' knotStep (h, []) kts
-
-
--- foldl' (f) (hr, []) knots
+        (kt, kts) = foldl' knotStep (h, []) $ rope ^. knots -- kts
 
+knotStep :: (Position, [Position]) -> Position -> (Position, [Position])
 knotStep (h, ks) kt = (kt', (kt':ks)) 
   where kt' = if kt `touching` h
               then kt
               else kt ^+^ (kt `towards` h)
 
-
 -- Parse the input file
 
 pathP :: Parser [Direction]