Minor refactors
This commit is contained in:
parent
1d22a1c188
commit
e92cc2f0d3
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -48,6 +48,7 @@ executable aoc
|
|||||||
exceptions,
|
exceptions,
|
||||||
extra,
|
extra,
|
||||||
filepath,
|
filepath,
|
||||||
|
lens,
|
||||||
linear,
|
linear,
|
||||||
massiv,
|
massiv,
|
||||||
megaparsec,
|
megaparsec,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user