I used this repository.
sudo add-apt-repository ppa:hvr/ghc
sudo apt-get install ghc-7.8.3
sudo apt-get install cabal-install-1.20
The packages install into /opt/ghc/$VER and /opt/cabal/$VER respectively. If you use zsh, make sure to add to bash settings as well. In Emacs haskell-mode, when hasekll-interactive-bring command tries to load ghci, the PATH envrionment seems to be under bash. Save the settings and test.
source .zshrc
source .bashrc
which ghci
which cabal