Cabal é um sistema para construir e empacotar bibliotecas e programas Haskell. Ele define uma interface comum para autores e distribuidores de pacotes construírem suas aplicações de maneira portátil. Cabal é parte de uma infraestrutura maior para distribuir, organizar e catalogar bibliotecas e programas Haskell.