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, которая очень похожа на то, что мы обсуждаем здесь, включает в себя этот комментарий Нила Митчелла:
В настоящее время я быстро отделил тип результата от аргументов. Я думаю, что один из подходов состоит в том, чтобы найти примеры для
->
и создать версию с->
подставляется в.