Cuando uso las diversas macros MIN_VERSION_
de Cabal en un proyecto Haskell, ¿cómo puedo asegurar que estén todas definidas correctamente cuando no estoy usando cabal, p. cuando pruebas en GHCi?¿Cómo utilizo MIN_VERSION_ de cabal y otras macros con ghci?
Respuesta
Actualmente, cabal
admite un subcomando cabal repl
, que hace toda la configuración para usted, por lo que al menos para ghci
, no es necesario. Sin embargo:
El comando cabal build
genera el archivo dist/build/autogen/cabal_macros.h
, que contiene todas las definiciones que necesita. Para incluir ese archivo en una invocación de ghc, necesitará los flags -optP-include -optPdist/build/autogen/cabal_macros.h
.
Para mayor comodidad, se puede colocar la siguiente en un archivo .ghci
en el directorio del proyecto:
:set -optP-include -optPdist/build/autogen/cabal_macros.h
modo que usted no tiene que escribir las opciones cada vez que desee utilizar ghci.
Sin embargo, tenga en cuenta: las macros se definirán según la configuración la última vez que se ejecutó cabal build
, y no se actualizarán cuando instale paquetes nuevos o utilice una versión GHC diferente: para eso deberá volver a configurar y reconstruir el paquete.
(Gracias a Simon Hengel en la lista de bibliotecas por esta sabiduría: http://www.haskell.org/pipermail/libraries/2012-September/018491.html).
- 1. macros del preprocesador como parámetros a otras macros
- 2. Cómo usar "cabal-dev ghci" con un paquete no sandbox, no global (¿usuario?)?
- 3. ¿Cómo uso runhaskell con cabal-dev?
- 4. ¿Cómo obtengo ghci para ver los paquetes que instalé de cabal?
- 5. ¿Cómo hacer un proyecto Cabal de Haskell con biblioteca + ejecutables que aún se ejecutan con runhaskell/ghci?
- 6. ¿Cómo utilizo las rutas de Flask con Apache y mod_wsgi?
- 7. "Bootstrapping" con Cabal
- 8. cabal-install y Debian
- 9. Cabal: configuración cabal falla
- 10. ¿Cómo construyo un proyecto simple con Cabal?
- 11. ¿Cómo iniciar Yi-editor después de que lo instale cabal?
- 12. Primer Lisp con macros?
- 13. Usando alex/feliz con Cabal
- 14. ¿Cómo instalas paquetes/bibliotecas sin Cabal o Cabal-Install?
- 15. # y ## en macros
- 16. Cabal: dir de compilación con fuente
- 17. ¿cómo utilizo un UIPageControl?
- 18. macros C++ con memoria?
- 19. ¿Cómo ejecutar macros de Excel desde VS? ?
- 20. Cómo usar S_ISREG() y S_ISDIR() POSIX Macros?
- 21. ¿Cómo utilizo el rasgo scala.Proxy
- 22. macros en macros
- 23. ¿Usa las pruebas quickCheck con Cabal?
- 24. PHPExcel clonar .xlsm con macros
- 25. Diferencias entre abrazos, Yhc y GHCi
- 26. macros variadic con cero argumentos
- 27. ¿Cómo usar HUnit y Cabal para realizar pruebas automatizadas?
- 28. ¿Cómo utilizo getStyledAttributes (int []) con Temas internos de Android
- 29. ¿Cómo utilizo un xib con múltiples controladores de visualización?
- 30. Macros de Google Apps: ¿cómo se comparan con las macros de Office VBA?