Arch Linux/Preferred Package Tools
Haskell packages in Arch Linux, as stated by the Arch Haskell Arch Linux/Policy, use "provides" syntax in PKGBUILDs. In partcular, the ghc package "provides" many core libraries. This set changes from release to release, and you can find the current list of provides here. Typical provides are things like "haskell-cabal" or "haskell-containers".
In order for all our Haskell packages not to break on each GHC release, we use the "provides" mechanism to list all dependencies, including those shipped with GHC. That means you will see Haskell packages with, e.g. "haskell-cabal" as a dependency. This package is provided by the ghc package.
To download a Haskell package, you would use, for example:
$ sudo bauerbill --no-color --build-as $USER --aur -S cpphs
Note that upgrading a package that is listed in the provides may give you the counter-intuitive idea that say, haskell-cabal requires haskell-cabal to bootstrap. In fact, the recursion is broken by the use of "provides".
Legacy tools: yaourt
Sadly, one of the most famous package builder tools does not support the "provides" field, and thus yaourt is entirely broken with Haskell packages.
sudo bauerbill --no-color --aur -S haskell-csv sudo paktahn -S haskell-csv