Como sé cabal
es un programa para administrar la instalación de paquetes como FreeBSD pkg_add
. Pero hay otra herramienta llamada ghc-pkg
. No sé por qué hay dos programas diferentes. ¿Cuál es el papel de cada uno de ellos y cómo están relacionados?¿Cómo se relacionan los programas `ghc-pkg` y` cabal`? (Haskell)
Respuesta
Cabal es una biblioteca de construcción y embalaje para Haskell, tipo de "Haskell autotools". Lee los archivos .cabal
y los paquetes Haskell generalmente tienen un archivo Setup.hs
que usa Cabal para compilar el paquete. Luego también está el comando cabal
provisto por el paquete cabal-install. Proporciona comandos para ejecutar el script Setup.hs
y algunas funciones de administración de paquetes, como instalar paquetes directamente desde Hackage. Debería leer this blogpost by Ivan Miljenovic que explica bastante bien el papel de Cabal, cabal-install y Hackage.
ghc-pkg
es una herramienta de nivel inferior para examinar la base de datos de paquetes de GHC. Cabal tiene la intención de funcionar con cada compilador Haskell, mientras que ghc-pkg es obviamente específico para GHC. No puede usar ghc-pkg para compilar nada, solo puede registrar paquetes que haya creado de otra manera.
cabal es solo una capa de interfaz para ghc-pkg con algunas características adicionales. Solo es importante saber ghc-pkg porque la funcionalidad de desinstalación no se agregó a cabal, pero se puede hacer directamente con ghc-pkg.
ghc-pkg no se puede desinstalar. Probablemente querías eliminar el registro. E incluso después de anular el registro, aún puedo usar el paquete no registrado bien. Como tal, no es una desinstalación. –
- 1. Haskell cabal + hsc2hs
- 2. Uso de Cabal (Haskell)
- 3. ¿Cómo se relacionan los entornos, (en) cierres y marcos?
- 4. ¿Cómo se relacionan las fábricas y los patrones?
- 5. ¿Cómo se relacionan RDF y RDFS?
- 6. Haskell Cabal: Cómo ignorar las dependencias
- 7. ¿Cómo se relacionan EJB y JPA?
- 8. Haskell Cabal regenera la documentación de todos los paquetes instalados
- 9. ¿Cómo organizar archivos en los programas de Haskell?
- 10. Haskell Cabal: misteriosas dependencias faltantes o recursivas
- 11. ¿Cómo instalas paquetes/bibliotecas sin Cabal o Cabal-Install?
- 12. cabal-install y Debian
- 13. ¿Cómo se relacionan los tipos básicos de Delphi entre sí?
- 14. ¿Cómo se relacionan los números "binarios" con mi programación diaria?
- 15. Cabal para configurar un nuevo proyecto Haskell?
- 16. ¿Cómo se comunican los programas entre sí?
- 17. ¿Cómo se asignan los nombres de los paquetes de Hackage a los nombres de 'cabal install'?
- 18. ¿Cómo se pueden distribuir los programas Haskell a usuarios finales no técnicos?
- 19. ¿Cómo se relacionan los funcionadores aplicativos con los algoritmos de paralelización? (Scala y Scalaz)
- 20. ¿Cómo se relacionan las metodologías Ágil, Lean y Kanban?
- 21. ¿Cómo se relacionan Ruby and Rails?
- 22. ¿Cómo se relacionan los cambios de la rama actual con los cambios que se fusionan?
- 23. ¿Cómo acelerar los programas WPF?
- 24. Cabal: configuración cabal falla
- 25. ¿Cómo se relacionan los intérpretes escritos en C y C++ con los identificadores de las funciones C (++)?
- 26. Comprender cómo la aplicación delega y ve los controladores se relacionan entre sí
- 27. ¿Cómo utilizo MIN_VERSION_ de cabal y otras macros con ghci?
- 28. ¿Cómo dibujan gráficos los programas matemáticos y cómo puedo crearlos?
- 29. ¿cómo se relacionan los métodos has_field() con los valores predeterminados en protobuf?
- 30. ¿Cómo detectan los virus los programas antivirus?
duplicado de http://stackoverflow.com/questions/2706667/what-is-the-relationship-between-ghc-pkg-and-cabal – Boris
@Boris Es difícil entender por qué no pude encontrarlo con mi title ... – Eonil
Sí, eso es extraño. Son muy similares. – Boris