
17 Apr
2019
17 Apr
'19
4:01 p.m.
You could emulate this with some custom parser combinators on top of any monadic parser combinator library such as attoparsec or megaparsec. keyed :: (Ord key, Functor parser) => key -> parser a -> parser (Map key a) keyed key = fmap (singleton key) Then, assuming 'char' and 'digitChar' exists in the parser library, you may write integer = some digitChar logline = fmap mconcat $ sequence [ keyed "year" (integer <* char '/'), keyed "month" (integer <* char '/'), keyed "day" (integer <* char ' '), -- etc. ] Olaf