aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2020/02-Password_Philosophy/first.hs7
-rw-r--r--2020/02-Password_Philosophy/second.hs7
2 files changed, 4 insertions, 10 deletions
diff --git a/2020/02-Password_Philosophy/first.hs b/2020/02-Password_Philosophy/first.hs
index 85c092e..4fd60b5 100644
--- a/2020/02-Password_Philosophy/first.hs
+++ b/2020/02-Password_Philosophy/first.hs
@@ -25,15 +25,12 @@ parseRule = do
void (char ' ')
e <- anySingle
void (string ": ")
- pass <- (many letterChar)
+ pass <- (some letterChar)
void (char '\n')
return Rule { lower = read l, higher = read h, elt = e, pass = pass }
parseRules :: Parser [Rule]
-parseRules = do
- rules <- many parseRule
- eof
- return rules
+parseRules = some parseRule <* eof
parseInput :: String -> IO [Rule]
parseInput filename = do
diff --git a/2020/02-Password_Philosophy/second.hs b/2020/02-Password_Philosophy/second.hs
index 973a818..35ec555 100644
--- a/2020/02-Password_Philosophy/second.hs
+++ b/2020/02-Password_Philosophy/second.hs
@@ -25,15 +25,12 @@ parseRule = do
void (char ' ')
e <- anySingle
void (string ": ")
- pass <- (many letterChar)
+ pass <- (some letterChar)
void (char '\n')
return Rule { lower = (read l) - 1, higher = (read h) - 1, elt = e, pass = pass }
parseRules :: Parser [Rule]
-parseRules = do
- rules <- many parseRule
- eof
- return rules
+parseRules = some parseRule <* eof
parseInput :: String -> IO [Rule]
parseInput filename = do