Cabal ist ein System zum Erstellen und Verpacken von Haskell-Bibliotheken und -Programmen. Es definiert eine gemeinsame Schnittstelle für Paketautoren und -vertreiber, um ihre Anwendungen auf eine portable Weise einfach zu erstellen. Cabal ist Teil einer größeren Infrastruktur zur Verteilung, Organisation und Katalogisierung von Haskell-Bibliotheken und -programmen.