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

Reply via email to