Dans mon projet haskell, j'ai la structure de répertoires suivante (certaines entrées sont manquantes mais pas pertinentes à ce problème)Haskell cabale confus au sujet de nom de fichier et le module
- quanthas
- quanthas.cabal
- src/
- QuantHas/
- Settings.hs
Mon fichier Settings.hs contient cet en-tête du module
module QuantHas.Settings(module QuantHas.Settings) where
Mon fichier cabale ressemble à ce
Name: QuantHas
Version: 0.0
Description:
QuantHas project is an attempt to port QuantLib to Haskell keeping the functional flavor of Haskell.
License: BSD3
License-file: LICENSE
Build-Type: Simple
Cabal-Version: >=1.10
Library
Build-Depends: base >= 3 && < 5, array >= 0.2
Exposed-modules: QuantHas.Time.Frequency
QuantHas.Time.TimeUnit
QuantHas.Time.Period
QuantHas.Time.Date
QuantHas.Time.DayCounter
QuantHas.Time.BusinessDayConvention
QuantHas.Time.Calendar
QuantHas.Time.Calendars.UnitedKingdom
QuantHas.Time.Schedule
QuantHas.Settings
QuantHas.Require
default-language: Haskell2010
hs-source-dirs: src
-- ghc-options: -Wall
test-suite QuantHas-tests
type: exitcode-stdio-1.0
hs-source-dirs: testsuite
main-is: Tests.hs
default-language: Haskell2010
Quand j'exercerai
cabal install --enable-tests
Je reçois ce message
src/Quanthas/Settings.hs:17:8: error:
File name does not match module name:
Saw: ‘QuantHas.Settings’
Expected: ‘Quanthas.Settings’
Cela semble mal. Cependant, que faire si nous faisons ce que la cabale attend. Ainsi, l'en-tête du module Settings.hs est maintenant
module Quanthas.Settings(module Quanthas.Settings) where
Cabal dit maintenant
src/QuantHas/Settings.hs:17:8: error:
File name does not match module name:
Saw: ‘Quanthas.Settings’
Expected: ‘QuantHas.Settings’
Et il est à ce ppint que je donne et tourne vers SO. Quelqu'un peut-il m'aider à comprendre ce qui se passe?
Versions info: Plate-forme: Macbook Pro exécutant Mac OS 10.12.3 Haskell: 8.0.1 Cabal: 1.24.0.0
Merci!
Vous êtes donc certain que le répertoire 'QuantHas' du système de fichiers est nommé avec le' H' majuscule? Si oui, avez-vous fait quelque chose comme commencer en minuscules et le renommer plus tard? Vous vous demandez si cela peut être quelque chose de mise en cache. –
Oui, il a toujours eu un 'H' dans le nom du répertoire. –
Essayé 'cabal configure' après avoir changé? – arrowd