本文介绍了如何配置GHCi以自动导入模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用GHCi时,我几乎总是最终导入 Control.Applicative Data.List 等。 。有没有办法将GHCi配置为自动导入这些模块。



另外,在导入它们之后,我该如何保持提示非常长?

  Prelude Control.Applicative Data.List Database.HDBC Database.HDBC.Sqlite3 System.Directory> 


解决方案

GHCi在

$类似Unix系统上的


  • 〜/ .ghc / ghci.conf p>


  • %APPDATA%\ghc\ghci.conf 在Windows上。




配置文件语法很简单:它是启动时执行的GHCi命令列表。



例如,您的 ghci.conf 可能包含:

  import Control.Applicative 
import Data.Char
import Data.List

:set prompt>

最后一行将提示设置为>,因此它不会显示您导入的所有模块

现在您可以立即开始工作:

  GHCi,版本6.12.1:http://www.haskell.org/ghc/:?寻求帮助
加载包ghc-prim ...链接...完成。
加载包integer-gmp ...链接...完成。
加载程序包库...链接...完成。
> toLower< $> 你好,世界!
你好,世界!
>

另外,如果您决定不需要 Data.Char 在GHCi会话中,您可以将其删除:

 :m -Data.Char 

如果您决定在会话期间除了Prelude外什么都不需要任何东西:

 :m 


When I use GHCi, I almost always end up importing Control.Applicative, Data.List, etc. . Is there a way to configure GHCi to automatically import those modules.

Also, after importing them, how do I keep the prompt from being insanely long?

Prelude Control.Applicative Data.List Database.HDBC Database.HDBC.Sqlite3 System.Directory>
解决方案

GHCi looks for its configuration file at

  • ~/.ghc/ghci.conf on Unix-like systems.

  • %APPDATA%\ghc\ghci.conf on Windows.

The configuration file syntax is simple: it's a list of GHCi commands to execute on startup.

For example, your ghci.conf could contain:

import Control.Applicative
import Data.Char
import Data.List

:set prompt "> "

The last line sets the prompt to "> " so it won't show all the modules you imported on the command line.

Now you can get to work right away:

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!"
> 

Also, if you decide you don't want Data.Char in the middle of a GHCi session, you can remove it with:

:m -Data.Char

and if you decide you don't want anything but Prelude during a session:

:m

这篇关于如何配置GHCi以自动导入模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 03:54