使用以下示例模块:
module Exp ( initial, myval ) where
data State = State { i :: Int }
initial = State { i = 123 }
myval st = i st
在GHCI中加载模块后,我可以看到State
和i
名称也已导出。我可以得到他们的类型并使用它们。如何限制导出以便仅导出initial
(黑框)和myval
?
答案 0 :(得分:11)
State
和i
未导出,但如果您在ghci中加载解释模块,则该模块的所有顶级定义都在范围内。要隐藏未从ghci导出的内容,请编译模块并加载已编译的模块:l Exp
resp ghci Exp
。然后只有导出的实体可用。