Availability of hoogle.haskell.org etc

Currently, I experience very long waiting times for https://hoogle.haskell.org/ .

Good service is only noticed when its gone. So I am grateful for all the years where the haskell.org infrastructure worked like a charm.

Recently, the experience is mixed. Maybe these are still glitches after the migration from FP complete. Or do we have to accept this as the new status quo?

3 Likes

Here’s how performance looks recently (pinging from LA and Helsinki):

Downtimes this year:

State Check Error Details â–Ľ Start Time End Time (duration)
Finished https://hoogle.haskell.org/ Response timeout (30 seconds) Mar 29, 2026, 19:51:49 HST – Mar 29, 2026, 20:16:43 HST (25m)
Finished https://hoogle.haskell.org/ Connection timeout (10 seconds) Mar 29, 2026, 09:12:31 HST – Mar 29, 2026, 09:22:26 HST (10m)
Finished https://hoogle.haskell.org/ TLS handshake timeout (10 seconds) Mar 24, 2026, 01:46:17 HST – Mar 24, 2026, 02:03:38 HST (17m)
Finished https://hoogle.haskell.org/ TLS handshake timeout (10 seconds) Feb 10, 2026, 03:39:51 HST – Feb 10, 2026, 03:49:48 HST (10m)
Finished https://hoogle.haskell.org/ TLS handshake timeout (10 seconds) Feb 01, 2026, 01:40:41 HST – Feb 01, 2026, 02:13:03 HST (32m)
Finished https://hoogle.haskell.org/ Connection timeout (10 seconds) Jan 26, 2026, 08:06:47 HST – Jan 26, 2026, 09:01:27 HST (55m)
Finished https://hoogle.haskell.org/ Connection timeout (10 seconds) Jan 12, 2026, 08:51:45 HST – Jan 12, 2026, 09:01:41 HST (10m)
Finished https://hoogle.haskell.org/ Connection timeout (10 seconds) Jan 09, 2026, 09:22:16 HST – Jan 09, 2026, 09:59:33 HST (37m)
2 Likes

I understand this is an infrastructure question, but maybe now everyone is aware that you can run Hoogle locally. From an old article of mine:


If you need an offline Hoogle too, just cabal install hoogle, hoogle generate and add this to your ~/.ghci (I stole this from John Wiegley):

:def hoogle \x -> return $ ":!hoogle -q --colour -n 10 \"" ++ x ++ "\""
:def hdoc \x -> return $ ":!hoogle --info \"" ++ x ++ "\""

Now you can query hoogle straight from ghci:

λ> :hoogle [a] -> Int
Searching for: [a] -> Int
Prelude length :: [a] -> Int

I have switched to local Hoogle years ago and I find a joy to use: never leave the terminal, and you do not have to rely on the internet.

2 Likes

I’ve tried your commands a bit but I also use hoogle a lot as a quick entrypoint into a package/module documentation, in which case I want something with haddock, so more commonly I run a

hoogle server --local -p 8080

4 Likes

Hi. The main issue here is that the web is plagued by a sheer absurd amount of AI crawlers that are unbelievably disrespectful, hitting expensive URLs on the server that runs the hoogle.haskell.org.

There are certainly measures that would improve this but they’re usually quite drastic. We could e.g. do tarpitting, do aggressive rate limiting etc. I think the general consensus across the haskell org infrastructure team has been that these more aggressive strategies are not acceptable as they would impair fair use in the same way as the abusers.

However, given that the user experience using haskell services has been drastically degraded since the onset of the AI crawler epidemic, I think it might be worth to reevaluate that policy. I will make sure to ask about this topic when the infrastructure team meets next.

In the meantime, I also host a hoogle under hoogle dot mangoiv dot com which employs some of the more aggressive strategies to stay fast. You are free to use it.

14 Likes

What are the more expensive URLs? Could maybe add captchas or rate limiting to those I suppose?

We’re experiencing something called “tragedy of the commons”.

2 Likes

@andreasabel sidestepping the main question, some time ago I stopped using hoogle.haskell.org in favor of the command-line interface. Is there anything lacking from the command-line interface of Hoogle in your experience?

1 Like

@MangoIV is there any chance we are accidentally missing no leftlinks if query specifier given by gbaz · Pull Request #443 · ndmitchell/hoogle · GitHub in the deployed version?

No, this patch is contained in there.