如何控制Haskell中记录的导出?
使用以下示例模块:如何控制Haskell中记录的导出?,haskell,module,record,Haskell,Module,Record,使用以下示例模块: module Exp ( initial, myval ) where data State = State { i :: Int } initial = State { i = 123 } myval st = i st 在GHCI中加载模块后,我可以看到状态和I名称也已导出。我可以得到它们的类型并使用它们。如何限制导出,以便仅导出初始值(黑框)和myval?状态和I,但如果在ghci中加载已解释的模块,则该模块的所有顶级定义都在范围内。要隐藏没有从ghci导出的内容,请
module Exp ( initial, myval ) where
data State = State { i :: Int }
initial = State { i = 123 }
myval st = i st
在GHCI中加载模块后,我可以看到
状态
和I
名称也已导出。我可以得到它们的类型并使用它们。如何限制导出,以便仅导出初始值
(黑框)和myval
?状态
和I
,但如果在ghci中加载已解释的模块,则该模块的所有顶级定义都在范围内。要隐藏没有从ghci导出的内容,请编译模块并加载编译后的模块,:l Exp
respghci Exp
。然后,只有导出的实体才可用