diff options
Diffstat (limited to '2020/02-Password_Philosophy')
-rw-r--r-- | 2020/02-Password_Philosophy/first.hs | 7 | ||||
-rw-r--r-- | 2020/02-Password_Philosophy/second.hs | 7 |
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 |