Qual è il rapporto tra GHC-pkg e cabala?
Domanda
Per quanto riguarda pacchetti vengono creati, installato ed utilizzato in Haskell, qual è il rapporto tra la GHC-pkg e cabala ?
Quali sono i loro ruoli? - quando si usa uno, sopra l'altro, o utilizzare entrambe
Sono strumenti complementari, strumenti competitivi, o semplicemente gli strumenti che fanno lavori diversi?
Soluzione
Graficamente, le dipendenze sono:
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.
Altri suggerimenti
GHC-pkg IS un'interfaccia diretta al database dei pacchetti di GHC. Cabal è uno strumento che fornisce una struttura di distribuzione coerente per i pacchetti e un modo per specificare i metadati come ad esempio le dipendenze tra i pacchetti, i numeri di versione e le informazioni di build.
Utilizzo di Cabal per installare un pacchetto si registrerà con GHC per voi (tra le altre cose), ma questo è l'entità della sovrapposizione, davvero.
Si noti che GHC-pkg fornisce inoltre funzionalità che (per quanto ne so) Cabal non lo fa, come ad esempio nascondere i pacchetti installati.