The Cabal (common architecture for building applications and libraries) is a type of package manager to aid in packaging and distributing software packages, in the forms of application software and libraries, for the programming language Haskell.