我对Haskell的库问题感到尴尬.我完成了一个由几个文件组成的库
src/MyLib/Firstbib.hs
src/MyLib/Secondbib.hs
...
src/MyLib/Lastbib.hs
Run Code Online (Sandbox Code Playgroud)
这时,cabal install我可以分别导入每个文件
import MyLib.Firstbib
import MyLib.Secondbib
import MyLib.Lastbib
Run Code Online (Sandbox Code Playgroud)
一切都好
现在,我想在一个简单的导入中导入MyLib的所有这些部分:
import MyLib
Run Code Online (Sandbox Code Playgroud)
我无法达到它.
我试图创建一个名为src/MyLib.hscontains 的文件:
module MyLib where
import MyLib.Types
import MyLib.Functions
import MyLib.Algo.Line
import MyLib.Algo.Point
Run Code Online (Sandbox Code Playgroud)
并用Cabal暴露它
Library
-- Modules exported by the library.
Hs-Source-Dirs: src
Exposed-modules: MyLib
, MyLib.Functions
, MyLib.Types
, MyLib.Algo.Line
, MyLib.Algo.Point
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
仅使用一个模块导入导入许多文件的正确方法是什么(例如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
Run Code Online (Sandbox Code Playgroud)
什么情况是,当你把这样的一个模块中的导出列表中,您导出所有符号的模块也知道.
您可以扩展导出此模块的哪个部分,例如:
module ExampleLib
(module Data.Maybe
) where
import Data.Maybe (fromJust)
Run Code Online (Sandbox Code Playgroud)
上述只会再出口fromJust从Data.Maybe,而不是整个Data.Maybe模块.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |