
On Mon, 5 Nov 2007, Duncan Coutts wrote:
By the way, if you have several common deps it's perfectly ok to factor them out like this:
Flag splitBase Description: Choose the new smaller, split-up base package.
Library Build-Depends: network, HTTP, HTTP-Simple, MissingH, time>=1.1.1
if flag(splitBase) Build-Depends: base >= 3, containers else Build-Depends: base < 3
In a future version of Cabal we might have this nicer syntax:
Library Build-Depends: base, network, HTTP ,HTTP-Simple, MissingH, time>=1.1.1
if package(base >= 3) Build-Depends: containers
When Cabal development started I suggested to use Haskell code as configuration file, because there will be much extensions and the package description will not fit into a simple syntax soon. This suggestion was rejected because the Package description should be readable by an IDE. With the flags and package version comparison we move quickly to a Turing complete scripting language in form of a package description. :-) Btw. does the Setup.hs script still serves a purpose?