|
|
@ -484,6 +484,51 @@ Disponible sur [hackage](https://hackage.haskell.org/package/aeson) et
|
|
|
|
|
|
|
|
|
|
|
|
- [SublimeHaskell](https://github.com/SublimeHaskell/SublimeHaskell)
|
|
|
|
- [SublimeHaskell](https://github.com/SublimeHaskell/SublimeHaskell)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# FAQ et utilisation de Cabal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Une FAQ fantastique
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
En plus d'être un guide extraordinaire pour pleins de sujets comme les GADT,
|
|
|
|
|
|
|
|
il couvre aussi des some useful basics for Cabal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [Ce que j'aurais aimé savoir lors de mon apprentissage d'Haskell](http://dev.stephendiehl.com/hask/)
|
|
|
|
|
|
|
|
aussi sur github [ici](https://github.com/sdiehl/wiwinwlh).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## recommandations pour Cabal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L'enfer avec Cabal était un problème pour les utilisateurs d'Haskell avant l'introduction
|
|
|
|
|
|
|
|
des bacs à sable. Installer en dehors d'un bac à sable va installer dans le package-db
|
|
|
|
|
|
|
|
de l'utilisateur. Ce n'est *pas* une bonne idée mis à part pour quelques librairies
|
|
|
|
|
|
|
|
fondamentales comme Cabal, alex, et happy. Rien d'autre ne devrait être installé dans le
|
|
|
|
|
|
|
|
package-db de l'utilsateur ou le global à moins que vous ne sachiez ce que vous faites.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quelques bonnes pratiques pour éviter l'enfer avec cabal sont disponibles
|
|
|
|
|
|
|
|
[ici](http://softwaresimply.blogspot.com/2014/07/haskell-best-practices-for-avoiding.html).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pour expérimenter avec un package ou démarrer un projet, commencez par
|
|
|
|
|
|
|
|
`cabal sandbox init` dans un nouveau dossier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pour résumer:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Toujours utiliser des bacs à sable pour installer de nouveaux packages, créer des
|
|
|
|
|
|
|
|
projets, ou démarrer des experimentations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Utiliser `cabal repl` pour démarrer une instance ghci dans un projet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L'approche basée sur les bacs à sable que je suggère permet d'éviter les problèmes
|
|
|
|
|
|
|
|
liés à la gestion des dépendances des packages, mais elle n'est pas compatible avec
|
|
|
|
|
|
|
|
les packages pré-construits fournis par Haskell Platform.
|
|
|
|
|
|
|
|
Si vous apprenez Haskell et ne comprenez pas comment ghc-pkg et Cabal fonctionnent,
|
|
|
|
|
|
|
|
*évitez platform* et utilisez les instructions préalables du guide à la place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Stackage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pour les utilisateurs (de Yesod généralement) qui ont des problèmes de build, considérez Stackage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Un bon résumé de ce qu'est Stackage
|
|
|
|
|
|
|
|
[ici](https://www.fpcomplete.com/blog/2014/05/stackage-server).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L'auteur éstime que Stackage est généralement plus utile que `cabal freeze`.
|
|
|
|
|
|
|
|
|
|
|
|
# Hoogle et Haddock
|
|
|
|
# Hoogle et Haddock
|
|
|
|
|
|
|
|
|
|
|
@ -540,6 +585,6 @@ cabal haddock --hoogle --hyperlink-source \
|
|
|
|
# TravisCI
|
|
|
|
# TravisCI
|
|
|
|
|
|
|
|
|
|
|
|
Si vous êtes comme moi un grand fan de [TravisCI](https://travis-ci.org), je
|
|
|
|
Si vous êtes comme moi un grand fan de [TravisCI](https://travis-ci.org), je
|
|
|
|
vous recommande alors *fortement* de jeter un œuil à
|
|
|
|
vous recommande alors *fortement* de jeter un œuil à
|
|
|
|
[multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) pour avoir une base
|
|
|
|
[multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) pour avoir une base
|
|
|
|
pour de fichier `travis.yml` pour vos projets Haskell.
|
|
|
|
pour de fichier `travis.yml` pour vos projets Haskell.
|
|
|
|