有没有办法在GHCI中查看模块中的功能列表?

jus*_*nhj 35 haskell

我发现在Python或Common Lisp中你可以在运行时列出库的内容.Haskell有同样的事情,尤其是GHCI提示吗?

sth*_*sth 62

GHCi有一个:browse列出模块内容的命令:

Prelude> :browse Data.List
(\\) :: (Eq a) => [a] -> [a] -> [a]
delete :: (Eq a) => a -> [a] -> [a]
deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]
deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
elemIndex :: (Eq a) => a -> [a] -> Maybe Int
...
Prelude> :help                    
...
   :browse[!] [[*]<mod>]       display the names defined by module <mod>
                               (!: more details; *: all top-level names)
...
Run Code Online (Sandbox Code Playgroud)


Mar*_*off 11

根据您要提取的确切信息...如果您的GHCi版本支持制表符完成,那么您可以使用它来列出所有命名空间的可用功能:

Prelude> :m +Data.List
Prelude Data.List> Data.List.<PRESS TAB KEY HERE>
Display all 109 possibilities? (y or n) <PRESS n>
Prelude Data.List> Data.List.un<PRESS TAB KEY HERE>
Data.List.unfoldr  Data.List.unlines  Data.List.unzip3   Data.List.unzip6   
Data.List.union    Data.List.unwords  Data.List.unzip4   Data.List.unzip7   
Data.List.unionBy  Data.List.unzip    Data.List.unzip5   
Run Code Online (Sandbox Code Playgroud)

  • @EliuX什么是未完美的事情? (3认同)