如何像常规 shell 命令一样在命令行中运行 GHCi

Aro*_*Lee 1 haskell

有什么办法可以像 shell 中的常规命令一样在命令行上运行 GHCi 吗?

例如: :browse in GHCi - 列出特定模块的所有功能。

但我想在 shell 上运行它,例如: ghci --browse "MyModule" 它列出了模块的所有功能

我知道 hoogle 可以在 shell 上运行它,例如:hoogle Monad

lef*_*out 5

最简单的方法是通过标准输入管道输入命令。在 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.
Run Code Online (Sandbox Code Playgroud)

使用详细程度 0 来避免所有问候语:

$ ghci -v0 <<< ':t reverse'
reverse :: [a] -> [a]
Run Code Online (Sandbox Code Playgroud)