我在同一个文件夹下有许多模块:
/src/Web/MyLib/Types/Entity1.hs
/src/Web/MyLib/Types/Entity2.hs
/src/Web/MyLib/Types/Entity3.hs
...
大多数都需要导入相同的模块,例如Data.Time, UUID
和其他模块。而不是将这些模型导入/src/Web/MyLib/Types/
下的每个模块,有没有办法创建一个基础模块,比如/src/Web/MyLib/Types/Base.hs
,导入所有这些模块(Data.Time, UUID, ...
),然后只导入Base
到EntityX
?我尝试过但失败了。也许我做错了什么。
答案 0 :(得分:3)
这是一个取自Control.Lens
的例子,它实现了你想要的东西:它导入基础模块中的所有内容并重新导出所有内容。
module Control.Lens
( module Control.Lens.At
, module Control.Lens.Cons
, module Control.Lens.Each
-- ...
) where
import Control.Lens.At
import Control.Lens.Cons
import Control.Lens.Each
-- ...