Hacker News new | ask | show | jobs
by boothead 3813 days ago
The code looks good. One thing you might want to consider is using applicative style for parsing. So

  taggedImage :: Parser BaseImage
  taggedImage = do
    name <- many (noneOf ":")
    reservedOp ":"
    tag <- many (noneOf "\n")
    return $ TaggedImage name tag
Would end up something like:

  taggedImage :: Parser BaseImage
  taggedImage = TaggedImage <$> (many (noneOf "\n") <* reservedOp ":")
                            <*> (many (noneOf "\n")