在GHCi中,似乎有两种方法可以包含已安装的模块:
Prelude> :module Database.HDBC
Prelude Database.HDBC>
和
Prelude> import Database.HDBC
Prelude Database.HDBC>
这些之间有什么区别吗?如果没有,为什么重复命令?
我一直使用import
,现在注意到Real World Haskell's databases chapter中使用的:module
。
答案 0 :(得分:10)
来自GHCi docs:
:module
命令提供了一种方法来完成两件事情 完成普通的import
声明:
:module
支持模块上的*
修饰符,它会打开模块的完整顶级范围,而不仅仅是其导出。- 可以使用语法
:module -M
从上下文中删除导入。import
语法是累积的(如在Haskell模块中),因此这是从范围中减去的唯一方法。