3 ms·
I can only encourage to use Haskell for such kinds of problems. This was my first Haskell program and I was productive quite fast thanks to "Learn you a Haskell
by morgenkaffee 11y ago
I can only encourage to use Haskell for such kinds of problems. This was my first Haskell program and I was productive quite fast thanks to "Learn you a Haskell" and the great Parsec library for parsing the Dockerfile.
If you are an experienced Haskeller I would be very glad if you look over the project and problems in an issue. Because mostly I have no idea whether what I am doing is idiomatic or not.
- boothead 11y agoThe 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")