Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何控制Haskell中记录的导出?_Haskell_Module_Record - Fatal编程技术网

如何控制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
resp
ghci Exp
。然后,只有导出的实体才可用