para mac descargar haskell ghc cabal

haskell - mac - ¿Cuál es la relación entre ghc-pkg y cabal?



haskell core download (2)

Gráficamente, las dependencias son:

Packages GHC can use | Are registered with "ghc-pkg register" | And (almost always) built with Cabal | With build dependencies resolved by cabal-install | From Hackage.

Con respecto a cómo se crean, se instalan y se usan los paquetes en Haskell, ¿cuál es la relación entre ghc-pkg y cabal ?

¿Cuáles son sus roles? ¿Cuándo usaría uno, sobre el otro, o usaría ambos?

¿Son herramientas complementarias, herramientas competitivas o simplemente herramientas que hacen diferentes trabajos?


ghc-pkg es una interfaz directa a la base de datos de paquetes de GHC. Cabal es una herramienta que proporciona una estructura de distribución consistente para paquetes y una forma de especificar metadatos, como dependencias entre paquetes, números de versión e información de compilación.

El uso de Cabal para instalar un paquete lo registrará con ghc (entre otras cosas), pero esa es la medida de la superposición, en realidad.

Tenga en cuenta que ghc-pkg también proporciona una funcionalidad que (hasta donde yo sé) Cabal no lo hace, como ocultar paquetes instalados.