FAQ & Cabal

closes #20
pull/56/head
Julien Blanchard 10 years ago
parent a2ba66a812
commit 559ad0b6bd

@ -484,6 +484,51 @@ Disponible sur [hackage](https://hackage.haskell.org/package/aeson) et
- [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
@ -540,6 +585,6 @@ cabal haddock --hoogle --hyperlink-source \
# TravisCI
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
pour de fichier `travis.yml` pour vos projets Haskell.

Loading…
Cancel
Save