aboutsummaryrefslogtreecommitdiff
path: root/2022/22-Monkey-Map/first.hs
diff options
context:
space:
mode:
Diffstat (limited to '2022/22-Monkey-Map/first.hs')
-rw-r--r--2022/22-Monkey-Map/first.hs11
1 files changed, 4 insertions, 7 deletions
diff --git a/2022/22-Monkey-Map/first.hs b/2022/22-Monkey-Map/first.hs
index a7f9385..913ba30 100644
--- a/2022/22-Monkey-Map/first.hs
+++ b/2022/22-Monkey-Map/first.hs
@@ -20,12 +20,12 @@ type Parser = Parsec Void String
parseMapLine :: Parser Line
parseMapLine = do
- line <- some (char '.' <|> char ' ' <|> char '#') <* char '\n'
+ line <- some (char '.' <|> char ' ' <|> char '#') <* eol
return $ V.generate (length line) (line !!)
parseMap :: Parser Map
parseMap = do
- lines <- some parseMapLine <* char '\n'
+ lines <- some parseMapLine <* eol
return $ V.generate (length lines) (lines !!)
parseInstruction :: Parser Instruction
@@ -34,11 +34,8 @@ parseInstruction = (Move . read <$> some digitChar)
<|> (char 'R' $> R)
parseInput' :: Parser Input
-parseInput' = do
- m <- parseMap
- i <- some parseInstruction
- void $ optional (char '\n') <* eof
- return $ Input m i
+parseInput' = Input <$> parseMap
+ <*> some parseInstruction <* eol <* eof
parseInput :: String -> IO Input
parseInput filename = do