I am following a video that was recorded about two years ago. The speaker enters Either a b -> IO b
in the public Hoogle search input and the result contains (among others):
either :: (a -> c) -> (b -> c) -> Either a b -> c
If I try it today, this result is not found, which is a pity. Similar results are found, like
fromEither :: (Exception e, MonadIO m) => Either e a -> m a
but they are less ready-to-use.
How can this be explained? Has the Hoogle search algorithm gotten stricter? Has Either changed?
The code has changed completely since the last time you tried it. In particular, it now scales up to all of Stackage (~2K packages), gets updated every night and takes a bounded amount of time per query (certain queries like searching for the type a
could make the old Hoogle take up a huge amount of time and memory). Completely rewriting the type search algorithm impacted almost all queries - some got better, some worse, and in some cases, what is better or worse is hard to define. This blog post serves as an overview of what happened and this issue tracker can be used for searches you think could be improved.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With