Hayoo/Hoogle не сопоставляет мономорфные / менее полиморфные подписи с полиморфными

Я пытаюсь понять, если есть фундаментальная причина, почему Hoogle и Hayoo не совпадают, например

(b -> c) -> (b' -> c') ->   (b, b') -> (c, c')

в

a b c    -> a b' c'    ->   a (b, b') (c, c')

который бывает типом Control.Arrow.***:

(***) :: a b c -> a b' c' -> a (b, b') (c, c')

- это, вероятно, просто что-то, что пока еще не реализовано, или есть что-то фундаментальное, что препятствует реализации подобного поиска на основе типов?

1 ответ

С Google, это, кажется, следствие того, как -> обрабатывается. Проблема № 64 в трекере GitHub, которая очень похожа на то, что мы обсуждаем здесь, включает в себя этот комментарий Нила Митчелла:

В настоящее время я быстро отделил тип результата от аргументов. Я думаю, что один из подходов состоит в том, чтобы найти примеры для -> и создать версию с -> подставляется в.

Другие вопросы по тегам