Hoogle-запрос, возвращающий функции, которые не соответствуют сигнатуре типа

Если я попытаюсь использовать следующую команду Hoogle (v4.2.33) для поиска функций, содержащих сигнатуру типа ByteString->[ByteString]:

hoogle --count 40 "ByteString->[ByteString]"

затем к концу вывода я получаю:

Data.ByteString.Char8 transpose :: [ByteString] -> [ByteString]
Data.ByteString.Lazy transpose :: [ByteString] -> [ByteString]
Data.ByteString.Lazy.Char8 transpose :: [ByteString] -> [ByteString]
Codec.Compression.Zlib.Raw compress :: ByteString -> ByteString
Codec.Compression.GZip compress :: ByteString -> ByteString

Почему Google возвращает функции с подписью ByteString -> ByteString и т.д., когда я указываю тип подписи ByteString->[ByteString]?

1 ответ

Решение

Hoogle использует концепцию " приблизительного" сопоставления типов, обобщающие типы и конструкторы зачистки для поиска близких совпадений.

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