如何在cabal repl中自动加载导入?

时间:2015-08-12 13:54:47

标签: haskell cabal ghci

我的印象是,直到最近src/Main.hs自动导入当前加载的文件中的所有导入。那就是我有一个文件module Main where import qualified Data.Vector as V main = putStrLn "foo"

cabal repl

我会在:l src/Main.hs V加载7.10<link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css"/ > <script src="jquery.js"></script> <script src="jquery.datetimepicker.js"></script> 无需任何进一步的工作。

我认为在更改为ghc / ghci <input>期间此行为已更改,但我不确定。是否有任何选项可以让我改变它以前的方式?

编辑:实际上我已经编译了模块,这是问题的一部分。请参阅下面的ØrjanJohansens评论。

1 个答案:

答案 0 :(得分:2)

来自GHC User's Guide

  

提示符*module中的语法表明它是模块的完整顶级范围,它有助于在提示符处键入的表达式的范围。如果没有*,则只显示模块的导出。

     

注意:由于技术原因,GHCi只能支持解释模块的* - 表单。编译模块和包模块只能将其导出贡献给当前范围。要确保GHCi加载模块的解释版本,请在加载模块时添加*,例如:load *M

换句话说,在加载时在模块名称前添加*