导入Haskell模块

时间:2010-11-13 01:29:30

标签: haskell leksah

我是Haskell的新手。为什么我尝试使用Days中的Data.Time时出现此错误:

Could not find module `Data.Time':
      It is a member of the hidden package `time-1.1.4'.
      Perhaps you need to add `time' to the build-depends in your .cabal file.

我正在导入Data.List和Control.Monad,并且既没有给我这个错误消息,但是代码import Data.Time也没有。

我错过了什么?

感谢您的帮助!

编辑:我在使用时收到类似的错误消息:import Directory

谢谢你们,你的回答让我走上正轨!

2 个答案:

答案 0 :(得分:10)

使用此项目启动Leksah,打开包菜单并从中选择“编辑包”。现在,选择“依赖项”并添加所需的依赖项(在您的情况下为time)。您也可以选择一个版本。

PS:之后不要忘记点击“保存”按钮。 (我认为这是设计失败......)。

答案 1 :(得分:4)

只需编辑项目.cabal文件,通常位于名为ProjectName.cabal的顶级目录中,找到带有“build-depends:”的行,并在此列表中添加“time”。除非你已经使用过,否则不需要Leksah。

编辑:回答你的问题“为什么现在而不是模块X”

Data.Time位于time包中,显然不包含在构建依赖项中。 Directory模块的类似故事。您不会因Data.ListControl.Monad而导致这些错误,因为它们是base包的一部分,我打赌会在您的构建版本中。

另一方面,值得花时间了解base中的模块以及这些模块提供的功能。基数相当大,非常有用。