@@ -14,7 +14,7 @@ object Day04:
1414 object Pos :
1515 val zero = Pos (row = 0 , col = 0 )
1616
17- type StoreGrid = Store [Pos , Option [Char ]]
17+ type GridStore = Store [Pos , Option [Char ]]
1818
1919 enum WordCheckResult :
2020 case Found , NotFound
@@ -35,7 +35,7 @@ object Day04:
3535
3636 val toVectors : Vector [Vector [Char ]] = rows.map(_.toVector).toVector
3737
38- val toStore : StoreGrid = Store (p => toVectors.get(p.row).flatMap(_.get(p.col)), s = Pos .zero)
38+ val toStore : GridStore = Store (p => toVectors.get(p.row).flatMap(_.get(p.col)), s = Pos .zero)
3939
4040 val allPositions : List [Pos ] =
4141 rows.zipWithIndex.flatMap((row, rowIndex) => row.zipWithIndex.map((_, colIndex) => Pos (rowIndex, colIndex)))
@@ -61,15 +61,15 @@ object Day04:
6161
6262 def parse (rows : List [String ]): Option [Grid ] = Grid (rows = rows.map(_.toList)).some
6363
64- def wordChecks (w : Word , store : StoreGrid ): List [WordCheckResult ] =
64+ def wordChecks (w : Word , store : GridStore ): List [WordCheckResult ] =
6565 List (
6666 horizontalPositions,
6767 verticalPositions,
6868 ascDiagonalPositions,
6969 descDiagonalPositions
7070 ).map(wordCheck(_, w, store))
7171
72- def wordCheck (positions : Word => Pos => List [Pos ], w : Word , store : StoreGrid ): WordCheckResult =
72+ def wordCheck (positions : Word => Pos => List [Pos ], w : Word , store : GridStore ): WordCheckResult =
7373 WordCheckResult .from(w.toOptionalChars == store.experiment(positions(w)))
7474
7575 /* XMAS
@@ -101,7 +101,7 @@ object Day04:
101101 List .range(start = 0 , end = w.length).map(i => Pos (row = i + from.row, col = i + from.col))
102102
103103 // part 2
104- def crossWordCheck (w : Word , store : StoreGrid ): WordCheckResult =
104+ def crossWordCheck (w : Word , store : GridStore ): WordCheckResult =
105105 def ascDiagonalCheck : Word => Boolean = wordCheck(ascDiagonalPositions, _, store).toBoolean
106106 def descDiagonalCheck : Word => Boolean = wordCheck(descDiagonalPositions, _, store).toBoolean
107107 WordCheckResult .from(
0 commit comments