From e387598fd1aeba37cee01f46fff27e53de0180f0 Mon Sep 17 00:00:00 2001 From: Martin Potier Date: Tue, 8 Dec 2020 17:20:10 +0200 Subject: [PATCH] Fun with Sum --- day7/main.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/day7/main.hs b/day7/main.hs index 599403b..5318bbf 100755 --- a/day7/main.hs +++ b/day7/main.hs @@ -7,7 +7,9 @@ import Control.Applicative import Data.Attoparsec.Text (Parser, parseOnly) +import Data.Bool (bool) import Data.Map (Map) +import Data.Monoid (Sum(..)) import Data.MultiSet (MultiSet) import Data.Tree (Tree) import Text.Pretty.Simple @@ -102,7 +104,8 @@ solvePart1 color strs = do rules <- parseStrs strs let trees = map (\c -> mkSimpleTree c rules) (filter (/= color) $ M.keys rules) let containColor = map (elem color) trees - pure $ length $ filter (== True) containColor + pure $ getSum $ foldMap (Sum . bool 0 1) containColor + -- ^^ complicated exp for: pure $ length $ filter (== True) containColor main :: IO () main = do