Cabal 1.18.0 is out: https://groups.google.com/forum/#!topic/haskell-cafe/SFoNwaq8wdc
Here's the typical workflow we expect people to use with this cabal release. First you create the sandbox and install all dependencies:
cabal sandbox init # only once
cabal install --only-dependencies --enable-tests
While installing dependencies take a while, it only needs to be done once (unless you add dependencies). If you put
in your ~/.cabal/config file, all builds will be done in parallel, speeding up dependency installation.
For your day-to-day development you run either `cabal build` or `cabal test` (both now imply `cabal configure`).
cabal build # or:
If you need to e.g. debug a function, you can play with it from within GHCi:
`cabal repl` automatically passes the right flags to ghci and also re-runs any preprocessors (e.g. hsc2hs) so you don't have to do that manually. We're still working on making `cabal repl` better, but even the first version should be a big improvement to what we had before.
Note how we're trying to move away from global (or user) installs of packages. There are still use cases for that, but by default we try to keep each project's dependencies separate (by using a sandbox). For a bit more on the philosophy behind the development behind the current UI read my blog post:http://blog.johantibell.com/2012/03/cabal-of-my-dreams.html