You might find it easier to install directly (while on-line) with cabal. The combination
of Gentoo packages, GHC package handling, and cabal packages is not a happy one.
Once I've built GHC and run cabal-install I stick to running cabal directly.

# less /var/tmp/portage/dev-haskell/regex-compat-0.95.1/temp/build.log
...
Flags chosen: splitbase=True, newbase=True
Dependency array -any: using array-0.3.0.1
Dependency base ==4.*: using base-4.2.0.2
Dependency regex-base >=0.93: using regex-base-0.93.2
Dependency regex-posix >=0.95.1: using regex-posix-0.95.1
setup: The following installed packages are broken because other packages they
depend on are missing. These broken packages must be rebuilt before they can
be used.
package regex-base-0.93.2 is broken due to missing package
mtl-1.1.1.1-57f2dda1d35dc730219caa06f16057c1

The Gentoo haskell library packages that are broken by updates to dependent libraries need to be rebuilt.
Gentoo provides app-admin/haskell-updater to rebuild these packages.

Quote:

You might find it easier to install directly (while on-line) with cabal. The combination
of Gentoo packages, GHC package handling, and cabal packages is not a happy one.

The packages installed by cabal are not rebuilt by haskell-updater. The list of broken haskell libraries can be found with:

Code:

ghc-pkg check

haskell-updater rebuilds all the Gentoo packages on this list. I see lots of advice on the internet to install everything with cabal.
Since Gentoo is a source code based distro, and it provides haskell-updater to rebuild broken packages, a solution that works
well in practice is to install all Haskell packages with emerge. There are hundreds of Haskell packages in the Gentoo Haskell overlay.
For any that you are missing you can create ebuilds in a local overlay (say /usr/local/portage) with app-portage/hackport: