Импорт модулей Haskell - PullRequest
       10

Импорт модулей Haskell

5 голосов
/ 13 ноября 2010

Я новичок в Хаскеле. Почему, когда я пытаюсь использовать 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 ]

10 голосов
/ 13 ноября 2010

Запустите Leksah с этим проектом, откройте меню пакетов и выберите «Редактировать пакет» из него.Теперь выберите «зависимости» и добавьте нужную вам зависимость (в вашем случае time).Вы также можете выбрать версию.

PS: не забудьте нажать кнопку «Сохранить» впоследствии.(Я думаю, что это ошибка проекта ...).

4 голосов
/ 13 ноября 2010

Просто отредактируйте файл .cabal проектов, обычно в верхнем каталоге с именем ProjectName.cabal и найдите строку (и) с помощью "build-зависящий:" и добавьте "время" в этот список.Нет необходимости в Leksah, если вы уже его не используете.

РЕДАКТИРОВАТЬ: Чтобы ответить на ваш вопрос «почему сейчас, а не с модулем X»

Data.Time находится в пакете time,что явно не входит в ваши зависимости сборки.Аналогичная история для модуля Directory.Вы не получите эти ошибки с Data.List или Control.Monad, потому что они являются частью пакета base, который, я готов поспорить, находится в ваших сборках.

На заметку о том, что этоСтоит потратить время на то, чтобы узнать, какие модули есть в base и какие функции предоставляют эти модули.База довольно большая и очень полезная.

...