From e387598fd1aeba37cee01f46fff27e53de0180f0 Mon Sep 17 00:00:00 2001
From: Martin Potier <martin.potier@marvid.fr>
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