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

View File

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

View File

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