Cabal es un sistema para construir y empaquetar bibliotecas y programas de Haskell. Define una interfaz común para que los autores y distribuidores de paquetes construyan fácilmente sus aplicaciones de manera portátil. Cabal es parte de una infraestructura más grande para distribuir, organizar y catalogar bibliotecas y programas de Haskell.