Importazione di moduli Haskell
Domanda
Sono nuovo di Haskell. Come mai quando provo ad usare Days
da Data.Time
ottengo questo errore:
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.
Sto importando Data.List e Control.Monad, e nessuno dei due mi dà questo messaggio di errore, ma il codice import Data.Time
lo fa.
Che cosa mi manca?
Grazie per l'aiuto!
EDIT: Sto ricevendo un messaggio di errore simile quando uso: import Directory
Grazie ragazzi, le tue risposte mi ha fatto in pista!
Soluzione
Fuoco fino Leksah con questo progetto, aprire il menu pacchetto e selezionare "Modifica pacchetto" da esso. Ora, scegli "dipendenze" e aggiungere la dipendenza è necessario (nel tuo caso time
). Si può anche scegliere una versione.
PS: non dimenticate di premere il pulsante "Salva" in seguito. (Credo che questo è un fallimento di design ...).
Altri suggerimenti
Basta modificare il file .cabal
progetti, di solito nella directory principale denominata ProjectName.cabal
e trovare la linea (s) con "accumulo dipende:" e aggiungere "tempo" a questa lista. Non c'è bisogno di Leksah, a meno che già utilizza.
EDIT: per rispondere alla tua domanda "perché ora e non con modulo X"
Data.Time è nel pacchetto time
, che evidentemente non è incluso nelle dipendenze di compilazione. storia simile per il modulo Directory
. Non si ottengono questi errori con Data.List
o Control.Monad
perché sono parte del pacchetto base
che scommetto è nella tua build-dipendenze.
Una nota a parte, vale la pena prendendo tempo per imparare ciò che i moduli sono in base
e quali funzionalità tali moduli forniscono. Base è piuttosto grande e molto utile.