Settings

Theme

Show HN: Static Analysis Tool for Dockerfiles in Haskell

github.com

63 points by morgenkaffee 10 years ago · 3 comments

Reader

morgenkaffeeOP 10 years 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 10 years 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")
dominotw 10 years ago

i would be nice to make codeclimate engine out of this. https://docs.codeclimate.com/docs/list-of-engines

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection