[Haskell-cafe] instance Binary UTCTime (Was: Oprhan instances)

Duncan Coutts duncan.coutts at googlemail.com
Mon Nov 30 05:35:04 EST 2009


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



More information about the Haskell-Cafe mailing list