module Hart
( module Hart
)
where
import Control.Monad.Trans.Reader (runReaderT, ReaderT, ask)
import Control.Monad.Trans (lift)
我目前已经定义了上述内容。除了ask
模块之外,如何从Control.Monad.Trans.Reader
导出仅 Hart
函数?
我以为我可以执行以下操作 - 但它会产生错误:
module Hart
( module Hart
, module Control.Monad.Trans.Reader (ask)
) where
答案 0 :(得分:1)
如注释中提到的@leftaroundabout,要重新导出功能,只需在导出列表中包含该功能:
module Hart
( module Hart
, ask
) where
...
import Control.Monad.Trans.Reader (ask)
这也适用于合格的导入,但需要注意导出中未捕获命名空间。
module Hart
( module Hart
, ask
, T.null
) where
...
import Control.Monad.Trans.Reader (ask)
import qualified Data.Text as T
在其他文件中:
module Other where
import Hart (ask, null)