使用 Haskell 一次导入整个模块
import a whole module at one time with Haskell
我对 Haskell 的库问题感到尴尬。
我完成了一个由多个文件组成的库
src/MyLib/Firstbib.hs
src/MyLib/Secondbib.hs
...
src/MyLib/Lastbib.hs
此时,在cabal install
之后我可以用
分别导入每个文件
import MyLib.Firstbib
import MyLib.Secondbib
import MyLib.Lastbib
一切正常
现在,我想在一个简单的导入中导入 MyLib 的所有这些部分:
import MyLib
我够不着。
我试图创建一个名为 src/MyLib.hs
的文件,其中包含:
module MyLib where
import MyLib.Types
import MyLib.Functions
import MyLib.Algo.Line
import MyLib.Algo.Point
并用 Cabal
公开它
Library
-- Modules exported by the library.
Hs-Source-Dirs: src
Exposed-modules: MyLib
, MyLib.Functions
, MyLib.Types
, MyLib.Algo.Line
, MyLib.Algo.Point
但是没用!
仅通过一个模块导入来导入多个文件的正确方法是什么(例如 Gtk2Hs)?
MyLib
应该是这样的——可能有不同的缩进:
module MyLib
(module MyLib.Types
,module MyLib.Functions
,module MyLib.Algo.Line
,module MyLib.Algo.Point
) where
import MyLib.Types
import MyLib.Functions
import MyLib.Algo.Line
import MyLib.Algo.Point
发生的情况是,当您将这样的模块放入导出列表时,您导出了您的模块知道的所有符号。
您可以确定要导出的该模块的哪个部分的范围,例如:
module ExampleLib
(module Data.Maybe
) where
import Data.Maybe (fromJust)
以上将仅从 Data.Maybe
重新导出 fromJust
,而不是整个 Data.Maybe
模块。
我对 Haskell 的库问题感到尴尬。 我完成了一个由多个文件组成的库
src/MyLib/Firstbib.hs
src/MyLib/Secondbib.hs
...
src/MyLib/Lastbib.hs
此时,在cabal install
之后我可以用
import MyLib.Firstbib
import MyLib.Secondbib
import MyLib.Lastbib
一切正常
现在,我想在一个简单的导入中导入 MyLib 的所有这些部分:
import MyLib
我够不着。
我试图创建一个名为 src/MyLib.hs
的文件,其中包含:
module MyLib where
import MyLib.Types
import MyLib.Functions
import MyLib.Algo.Line
import MyLib.Algo.Point
并用 Cabal
公开它Library
-- Modules exported by the library.
Hs-Source-Dirs: src
Exposed-modules: MyLib
, MyLib.Functions
, MyLib.Types
, MyLib.Algo.Line
, MyLib.Algo.Point
但是没用!
仅通过一个模块导入来导入多个文件的正确方法是什么(例如 Gtk2Hs)?
MyLib
应该是这样的——可能有不同的缩进:
module MyLib
(module MyLib.Types
,module MyLib.Functions
,module MyLib.Algo.Line
,module MyLib.Algo.Point
) where
import MyLib.Types
import MyLib.Functions
import MyLib.Algo.Line
import MyLib.Algo.Point
发生的情况是,当您将这样的模块放入导出列表时,您导出了您的模块知道的所有符号。
您可以确定要导出的该模块的哪个部分的范围,例如:
module ExampleLib
(module Data.Maybe
) where
import Data.Maybe (fromJust)
以上将仅从 Data.Maybe
重新导出 fromJust
,而不是整个 Data.Maybe
模块。