如何configurationGHCi自动导入模块
当我使用GHCi时,我几乎总是最终导入Control.Applicative
, Data.List
等。 有没有办法configurationGHCi自动导入这些模块。
而且,在导入之后,如何保持提示非常长?
Prelude Control.Applicative Data.List Database.HDBC Database.HDBC.Sqlite3 System.Directory>
GHCi查找它的configuration文件
-
在类Unix系统上
~/.ghc/ghci.conf
。 -
在Windows上
%APPDATA%\ghc\ghci.conf
。
configuration文件语法很简单:它是在启动时执行的GHCi命令列表。
例如,你的ghci.conf
可以包含:
import Control.Applicative import Data.Char import Data.List :set prompt "> "
最后一行将提示设置为"> "
因此它不会显示您在命令行上导入的所有模块。
现在你可以马上开始工作了:
GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. > toLower <$> "Hello, world!" "hello, world!" >
此外,如果您决定不希望在GHCi会话中间使用Data.Char
,则可以使用以下命令将其删除:
:m -Data.Char
如果你决定在会议期间除了Prelude之外什么都不需要,
:m
GHC也将加载它在当前目录中find的任何.ghci
文件。 GHCi的每个项目configuration是非常有用的。
这是我从事的一个项目的一个例子:
:set -isrc:dist/build/autogen :set -hide-package mtl
首先是确保Cabal生成的模块易于导入。 第二个隐藏mtl
因为这个特定的项目使用transformers
。