Tidying, mainly parsers
[advent-of-code-23.git] / advent20 / Main.hs
index 931c8673e922a0983a992ea81d91167d0bb3605b..c3a9cf3e7bd858f19515eb52e0548dcafe03bbaa 100644 (file)
@@ -9,7 +9,7 @@ import Data.Attoparsec.Text hiding (take)
 import Control.Applicative
 import Data.List
 import qualified Data.Map.Strict as M
-import Data.Map ((!))
+import Data.Map.Strict ((!))
 import qualified Data.Sequence as Q
 import Data.Sequence ((|>), (><), Seq( (:|>), (:<|) ) ) 
 import Control.Lens hiding (Level)
@@ -179,13 +179,13 @@ moduleP, broadcastP, flipFlopP, conjunctionP :: Parser (Module, Name)
 nameP :: Parser Name
 
 configLinesP = configLineP `sepBy` endOfLine
-configLineP = (,) <$> (moduleP <* " -> ") <*> (nameP `sepBy` ", ")
+configLineP = (,) <$> moduleP <* " -> " <*> nameP `sepBy` ", "
 
 moduleP = broadcastP <|> flipFlopP <|> conjunctionP
 
 broadcastP = (Broadcast, "broadcaster") <$ "broadcaster"
-flipFlopP = (FlipFlop False, ) <$> ("%" *> nameP)
-conjunctionP = (Conjunction M.empty, ) <$> ("&" *> nameP)
+flipFlopP = (FlipFlop False, ) <$ "%" <*> nameP
+conjunctionP = (Conjunction M.empty, ) <$ "&" <*> nameP
   
 -- namesP = nameP `sepBy` ", "
 nameP = many1 letter