Si vous utilisez l'échafaudage Yesod par défaut (généré par stack
), alors il ne contient effectivement pas de Setup.hs
(ce qui est un peu bizarre, car leur propre guide - https://github.com/commercialhaskell/stack/blob/master/doc/GUIDE.md - recommande de l'utiliser comme une bonne pratique)
Setup.hs
doit être situé dans le répertoire principal du projet (le même que celui où se trouve l'application stack.yml
y yourproject.cabal
sont situés) et le contenu devrait être à peu près le même que dans votre exemple inclus ( defaultMainWithHooks
est la partie essentielle).
Les détails de l'utilisation des crochets sont spécifiés dans https://www.haskell.org/cabal/users-guide/developing-packages.html et en cabal
spéc : https://hackage.haskell.org/package/Cabal-1.24.0.0/docs/Distribution-Simple.html
BTW, pour l'instant stack
ne supporte pas les hooks de pré-build par lui-même (pour plus de détails, voir : https://github.com/commercialhaskell/stack/issues/503 ), vous devez donc vous en tenir à celles fournies par cabal
- c'est là que Setup.hs
vient de.