在 ghci 中使用 hoogle 时如何使用 hoogle 命令行标志?
这显然不起作用:
ghci> :hoogle --count=5 Char -> Int
Could not read as type Int, "5 Char -> Int"
您需要更改您的 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
.