From 80f3650ed9381e7e0045fe13852e4d3b1dc38083 Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Wed, 6 Dec 2023 12:03:36 +0000 Subject: [PATCH] More tidying --- advent05/Main.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/advent05/Main.hs b/advent05/Main.hs index 17e38bd..d8bb806 100644 --- a/advent05/Main.hs +++ b/advent05/Main.hs @@ -39,7 +39,7 @@ lowestLocation almanac seeds = l (Iv l _) = head locations followRequirements :: Almanac -> Requirement -> Requirement -followRequirements _ req@(Requirement "location" vals) = req +followRequirements _ req@(Requirement "location" _) = req followRequirements almanac (Requirement name vals) = followRequirements almanac newReq where aMap = almanac ! name @@ -61,9 +61,9 @@ useRule (Rule (Iv rl rh) d) (Iv xl xh) = (newResults, newVals, newRules) useRules :: [Rule] -> [Interval] -> [Interval] useRules [] vals = vals useRules _ [] = [] -useRules (r@(Rule (Iv rl rh) _):rs) (v@(Iv xl xh):vs) - | rh < xl = useRules rs (v:vs) - | xh < rl = v : useRules (r:rs) vs +useRules (r@(Rule rv _):rs) (v:vs) + | rv `allBelow` v = useRules rs (v:vs) + | v `allBelow` rv = v : useRules (r:rs) vs | otherwise = newResults ++ (useRules (newRules ++ rs) (newVals ++ vs)) where (newResults, newVals, newRules) = useRule r v @@ -87,7 +87,7 @@ expandRanges seeds = fmap expandRange ranges tidyIntervals :: [Interval] -> [Interval] -tidyIntervals ivs0 = tidyIntervalsS $ sort ivs0 +tidyIntervals = tidyIntervalsS . sort tidyIntervalsS :: [Interval] -> [Interval] tidyIntervalsS [] = [] -- 2.34.1