要么a b。两年后 Hoogle 结果不同?

Either a b. Different Hoogle results after two years?

我正在关注大约两年前录制的视频。演讲者在 public Hoogle 搜索输入中输入 Either a b -> IO b,结果包含(除其他外):

either :: (a -> c) -> (b -> c) -> Either a b -> c

如果我try it today,这个结果是找不到的,很遗憾。找到类似的结果,例如

fromEither :: (Exception e, MonadIO m) => Either e a -> m a

但它们不太容易使用。

这怎么解释? Hoogle 搜索算法变得更严格了吗? Either改变了吗?

自您上次尝试以来,代码已完全更改。特别是,它现在扩展到所有 Stackage(~2K 包),每晚更新并且每次查询花费有限的时间(某些查询,如搜索类型 a 可能会使旧的 Hoogle 占用大量时间和内存)。完全重写类型搜索算法影响了几乎所有查询——有些变得更好,有些更糟,在某些情况下,很难定义什么是好是坏。 This blog post serves as an overview of what happened and this issue tracker 可用于您认为可以改进的搜索。