Haskell Cabal ( arquitectura común para crear aplicaciones y bibliotecas ) ayuda en el empaquetado y distribución de paquetes de software .
Cabal se introdujo para simplificar el empaquetado del software y los módulos de Haskell [ cita requerida ] . Se agregó al compilador Haskell de Glasgow en la versión 6.4 como administrador de paquetes predeterminado, [2] (junto con el administrador interno de GHC "ghc-pkg"). Su enfoque ha cambiado significativamente a lo largo de su desarrollo, pasando de la instalación de paquetes globales a compilaciones en espacio aislado y, finalmente, a una solución inspirada en Nix de compilaciones locales con almacenamiento en caché global, [3] que se convirtió en la predeterminada en 2019.
Los paquetes Cabal proporcionan un conjunto estándar de metadatos y procesos de construcción; por lo tanto, es posible desarrollar herramientas para cargar paquetes Cabal en el repositorio comunitario de software similar a CPAN , Hackage , o incluso permitir la descarga, compilación e instalación automatizadas de los paquetes deseados desde Hackage. [4]