Cabal est un système pour construire et empaqueter des bibliothèques et programmes Haskell. Il définit une interface commune pour que les auteurs de paquets et les distributeurs puissent facilement construire leurs applications de manière portable. Cabal fait partie d'une infrastructure plus large pour distribuer, organiser et cataloguer les bibliothèques et programmes Haskell.