Cabal (mjukvara)

Kabal
Originalförfattare Isaac Potoczny-Jones
Utvecklare Duncan Coutts
Initial release januari 2005 ; 18 år sedan ( 2005-01 )
Stabil frisättning
3.8.1.0 / augusti 2022 ; 6 månader sedan ( 2022-08 )
Förvar
Skrivet i Haskell
Operativ system Alla Unix -liknande Microsoft Windows
Storlek 0,4 megabyte
Tillgänglig i engelsk
Typ Pakethanterare på applikationsnivå
Licens BSD
Hemsida www .haskell .org /cabal /

Haskell - kabalen ( av gemensam arkitektur för att bygga applikationer . och bibliotek ) hjälper till vid paketering och distribution mjukvarupaket Den finns i Haskell-plattformen .

Historia

Cabal har introducerats för att förenkla paketeringen av Haskell-programvara och moduler [ citat behövs ] . Den lades till i Glasgow Haskell Compiler version 6.4 som standardpakethanterare, tillsammans med GHC:s interna manager ghc-pkg. Den faktiska binära kabalen och biblioteket Cabal är utvecklade i olika paket.

Under hela dess utveckling har den fått ytterligare funktioner, såsom sandlådor [ citat behövs ] , som gör det möjligt att undkomma det så kallade Cabal-helvetet (se nedan).

Använda sig av

Cabal-paket tillhandahåller en standarduppsättning av metadata och byggprocess; sålunda är det möjligt att utveckla verktyg för att ladda upp Cabal-paket till det CPAN -liknande gemenskapslagret av programvara, Hackage , eller till och med möjliggöra automatisk nedladdning, kompilering och installation av önskade paket från Hackage.

Kritik

Cabal använde tidigare ett globalt paketförråd som standard, versionskonflikter i beroenden kunde leda till Cabal hell , ett tillstånd där vissa paket inte kunde installeras utan att installera om redan befintliga och därför bryta de andra paketen.

2014 skapades en mer stabil (men mindre bleeding edge) variant av Hackage kallad Stackage . Under 2015 utökades den med Haskell LTS [ citat behövs ] och verktygsstacken , som inte delar dess problem.

Cabal v3 släpptes 2019. En ny byggstil löser fan ett sätt som liknar Nix-pakethanteraren .

externa länkar