Есть ли способ использовать флаги при поиске с помощью Google от ghci?

Как я могу использовать флаги командной строки hoogle при использовании hoogle внутри ghci?

Это, очевидно, не работает:

ghci> :hoogle --count=5 Char -> Int
Could not read as type Int, "5 Char -> Int"

1 ответ

Решение

Вам нужно изменить ваш ghci.conf, чтобы сделать это. Предполагая, что вы выполнили шаги, описанные на haskell.org, ваш ghci.conf содержит строку типа

:def hoogle \x -> return $ ":!hoogle \"" ++ x ++ "\""

Тем не менее, эта строка говорит о том, что :hoogle x будет переведен на hoogle "x"что, очевидно, не будет работать, если вы хотите применить дополнительные флаги, такие как --count=5,

Вам нужно либо удалить кавычки вокруг аргумента, например

:def hoogleP \x -> return $ ":!hoogle " ++ x

и использовать :hoogleP --count=5 "Char -> Int" или разбить аргумент вручную на счетчик и поисковый запрос:

:def hoogleC \x -> return $ ":!hoogle --count="++(head.words $x)++" \"" ++ (unwords.tail.words $x) ++ "\""

Последняя версия может быть использована как :hoogleC 5 Char -> Int,

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