hoogle VS hadolint

Compare hoogle vs hadolint and see what are their differences.


Haskell API search engine (by ndmitchell)


Dockerfile linter, validate inline bash, written in Haskell (by hadolint)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • JetBrains - Developer Ecosystem Survey 2022
hoogle hadolint
36 13
615 7,063
- 3.6%
5.5 8.6
3 months ago 12 days ago
Haskell Haskell
BSD 3-clause "New" or "Revised" License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of hoogle. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-27.
  • Lenses in Haskell
    3 projects | news.ycombinator.com | 27 Jun 2022
    Point of clarification for readers who aren’t familiar with Haskell:

    Haskell doesn’t have operators in the classic sense, since they’re just an alternate syntax (infix) for regular functions; implemented in libraries. The Haskell ecosystem OTOH has a shitton of infix functions, as does Edward Kmett’s lens library. I don’t think there’s any reason to bother memorizing the ones that aren’t useful to you. You can always search them on Hoogle if you encounter one you don’t know. E.g. https://hoogle.haskell.org/?hoogle=%28%5E.%29&scope=set%3Ast...

    I use lenses frequently in a large application and have only ever used view, set, and over.

  • Dhall: A Gateway Drug to Haskell
    27 projects | news.ycombinator.com | 7 Jun 2022
    No I didn't understand every sub-function in this function. That isn't necessary to get an idea of what a function does. All of your questions can be answered incredible quickly though using https://hoogle.haskell.org/

    > What does Optics.rewriteOf do?

    Hoogling show this is an alias of https://hackage.haskell.org/package/lens-5.1.1/docs/Control-....

    > What's the purpose of Lint.useToMap?

    Hoogle again shows https://hackage.haskell.org/package/dhall-1.41.1/docs/Dhall-.... If your function is not indexed you can look at what is qualified as `Lint` and look it up that way.

    > How about D.subExpressions ? How does that composition work with the loop function?

    https://hackage.haskell.org/package/dhall-1.41.1/docs/Dhall-... All nicely documented... I'm not sure what you mean by composition with the loop function. First the loop function is executed and then afterwards over the result the expression in the first argument to fmap is applied. There is no weird interaction going on here. It's just run this over the result of the loop function if it didn't produce an error.

    > Even better. How would you go about finding the source code containing the definition of the function `D.subExpressions` ?

    Use hoogle or just look at the imports at the top of the file. Just like any other programming language. Or even better, use the language server to find it for you.

    27 projects | news.ycombinator.com | 7 Jun 2022
  • What do you like about Go?
    6 projects | reddit.com/r/golang | 28 May 2022
    A fine piece of code, needs a refactor, may I know the name of the package, Google and Hoogle were unable to do their job.
  • Turn a fold into a monadic fold?
    1 project | reddit.com/r/fsharp | 15 May 2022
    For what it's worth, I've never used/heard of this function myself, but I used the awesome https://hoogle.haskell.org site and searched by the type signature:
  • YouCode a Search Engine for Coders
    1 project | news.ycombinator.com | 6 May 2022
    Looks cool.

    Maybe it can also search by signature like https://hoogle.haskell.org/ - would be a killer feature for me, but niche :)

  • Monthly Hask Anything (May 2022)
    4 projects | reddit.com/r/haskell | 3 May 2022
    As for finding things in those many modules, I usually check hoogle first: https://hoogle.haskell.org/
  • How Would You Even ApproachThis Problem
    1 project | reddit.com/r/haskellquestions | 29 Apr 2022
    If the type doesn't make it clear, then I read the docs or source on hackage. To find the right hackage package, I generally use hoogle which can be queried by name or by type!
  • Looking for some general advice on my first project.
    2 projects | reddit.com/r/haskell | 14 Apr 2022
    Cool project and overall I'd say your good is good. There's some stylistic things I might change. Below I've commented on a bunch of random stuff just to give you food for thought and possible leads to look into as a continuing to learn haskell sort of thing. I was pretty bad about citing where functions are from, so I recommend using something like hoogle (https://hoogle.haskell.org/) if it's not clear what function I meant.
  • Hoohle
    1 project | reddit.com/r/TheLetterH | 25 Feb 2022
    Fun fact: Hoogle is actually a thing: https://hoogle.haskell.org


Posts with mentions or reviews of hadolint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-07.

What are some alternatives?

When comparing hoogle and hadolint you can also consider the following projects:

dockle - Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start

trivy - Scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues and hard-coded secrets

docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.

grype - A vulnerability scanner for container images and filesystems

ihaskell - A Haskell kernel for the Jupyter project.

hakyll - A static website compiler library in Haskell

castle - A tool to manage shared cabal-install sandboxes.

ormolu - A formatter for Haskell source code

podman - Podman: A tool for managing OCI containers and pods.

stan - 🕵️ Haskell STatic ANalyser

leksah - Haskell IDE

syft - CLI tool and library for generating a Software Bill of Materials from container images and filesystems