Quelles sont les versions de paquets peuvent mon paquet Haskell dépendent?

StackOverflow https://stackoverflow.com/questions/2841956

  •  27-09-2019
  •  | 
  •  

Question

Je suis presque prêt à télécharger mon premier paquet à Hackage!

J'ai dans mon hstest.cabal:

Executable hstest
        Main-Is:        hstest.hs
        Build-Depends:  base, mtl, directory, ghc, ghc-paths, random, QuickCheck

Je comprends que c'est une mauvaise forme simplement la liste qui emballe mon colis dépend; au lieu que je dois dire quelles versions de ces paquets sont nécessaires.

Les versions que j'ai installé sont

  • base = 4.1.0.0
  • mtl = 1.1.0.2
  • Répertoire = 1.0.0.3
  • GHC = 6.10.3
  • GHC-chemins = 0.1.0.5
  • aléatoire = 1.0.0.1
  • QuickCheck = 1.2.0.0

Y at-il un moyen facile de savoir ce que les premières versions acceptables de chacun de ces paquets mon paquet réellement besoin? (À savoir sans installer beaucoup de versions obsolètes et de les tester un par un?)

Quelles versions futures de ces paquets peuvent je suppose que mon paquet peut dépendre?

Était-ce utile?

La solution

  

Y at-il un moyen facile de savoir ce que les premières versions acceptables de chacun de ces paquets mon colis a réellement besoin

Non, il n'y a pas d'outil pour cela.

  

Quelles versions futures de ces paquets peuvent je suppose que mon paquet peut dépendre?

La meilleure façon est de suivre le paquet versioning politique, qui dit compter que sur l'API -extending versions des paquets. C'est des versions de la forme: A.B.*. Comme les États de la politique:

  

Pour minimiser la rupture lorsque de nouvelles versions de paquets sont libérés, vous pouvez utiliser des dépendances qui sont insensibles aux variations mineures de version (par exemple foo> = 1.2.1 && <1.3).

Alors vous feriez quelque chose comme:

 QuickCheck >= 1.2 && < 1.3

, le test peut révéler des bornes inférieures et supérieures sur les fonctionnalités que vous utilisez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top