Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Either a b. Different Hoogle results after two years?

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?

like image 490
Marco Faustinelli Avatar asked Sep 20 '19 10:09

Marco Faustinelli


1 Answers

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.

like image 119
Neil Mitchell Avatar answered Nov 07 '22 14:11

Neil Mitchell