Minor refactors

This commit is contained in:
George Thomas 2025-12-08 22:48:29 +00:00
parent 1d22a1c188
commit e92cc2f0d3
3 changed files with 6 additions and 1 deletions

View File

@ -11,6 +11,7 @@ module Pre (
module Data.Char,
module Data.Foldable,
module Data.Foldable1,
module Data.Function,
module Data.Functor,
module Data.List,
module Data.List.Extra,
@ -57,6 +58,7 @@ import Data.Bool
import Data.Char
import Data.Foldable hiding (foldl1, foldr1, maximum, maximumBy, minimum, minimumBy)
import Data.Foldable1
import Data.Function
import Data.Functor
import Data.List (sortOn, tails, transpose)
import Data.List.Extra (dropEnd, enumerate)

View File

@ -2,6 +2,7 @@ module Puzzles.Day8 (puzzle) where
import Pre
import Control.Lens
import Data.DisjointSet qualified as DS
import Data.Text.Lazy qualified as TL
import Linear.Metric
@ -27,7 +28,8 @@ puzzle =
. connectBoxes
, uncurry . const $
TL.show
. maybe (error "sets never unified") (\((V3 x1 _ _, V3 x2 _ _), _) -> x1 * x2)
. uncurry ((*) `on` view _x)
. maybe (error "sets never unified") fst
. lastMay
. takeWhile ((> 1) . DS.sets . snd)
. connectBoxes

View File

@ -48,6 +48,7 @@ executable aoc
exceptions,
extra,
filepath,
lens,
linear,
massiv,
megaparsec,