Вы должны изменить свой ghci.conf для того, чтобы сделать это. Предполагая, что вы сделали steps described on 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
.
Если hoogleC будет использовать 'unwords' вместо' concat', этого не произойдет: 'GHCI>: hoogleC 1 Может быть, -> а Предупреждение: Неизвестный тип Maybea Unsafe.Coerce unsafeCoerce :: а -> б ' – sjakobi
@simon: Хорошая добыча! – Zeta
Спасибо, что написали свой ответ и обновили его! Это супер полезно! – sjakobi