有什么方法可以像在shell中的常规命令一样在命令行上运行GHCi吗?
例如::GHCi中的浏览-列出特定模块的所有功能。
但是我想在shell上运行它,例如:ghci --browse "MyModule"
列出了该模块的所有功能
我知道hoogle可以在shell上运行它,例如:hoogle Monad
答案 0 :(得分:3)
最简单的方法是通过标准输入管道输入命令。在Bash中,可以使用“ here-string”很好地完成此操作:
$ ghci <<< ':t reverse'
GHCi, version 8.2.1: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/sagemuej/.ghci
Loaded GHCi configuration from /home/sagemuej/.ghc/ghci.conf
Prelude> reverse :: [a] -> [a]
Prelude> Leaving GHCi.
使用冗长0避免所有问候:
$ ghci -v0 <<< ':t reverse'
reverse :: [a] -> [a]