一次导入多个模块

时间:2015-07-18 05:58:51

标签: haskell

我在同一个文件夹下有许多模块:

/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, ...),然后只导入BaseEntityX?我尝试过但失败了。也许我做错了什么。

1 个答案:

答案 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
-- ...