On Sun, 2009-11-29 at 19:38 -0800, Alexander Dunlap wrote: > > Then the other bit you suggested foomonad >= 4.0 && < 4.1 && HAS_MTL > > would be needed to be able to express that you want a package that has > > been built with a particular optional instance provided. This is the bit > > that cannot be translated into packages in most distros. Yes you could > > pick the flags up front, but you have to pick a single assignment that > > satisfies everyone. > > Well, that happens anyway with most packages since distros have to > choose one set of flags that works. The proposal I was commenting on > would just allow packages to depend on flags of other packages and so > be explicit about this.
Ah but flags are not allowed to change the public exported API of a library. That's why we do not need to depend on packages with flags set. This is an important property because it means you do not need multiple instances of a package version, any set of flags will do. Note that one distro that does have this feature of being able to depend on packages built with a particular flag is Gentoo. I don't know of any binary distros that do this. > >> It seems to me that distros could even offer multiple options for the > >> same package with different flags set. > > > > Most distros cannot handle installing multiple instances of the same > > version of a package. > > Well, what I've seen is having different packages, i.e. > foo-quickcheck, foo-no-quickcheck as separate packages. I think you'll find that distros do not like it, especially once there is more than one flag, since the number of combinations goes up exponentially. Duncan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe