Duncan Coutts wrote: > On Tue, 2008-08-26 at 15:31 -0700, Bryan O'Sullivan wrote: >> On Tue, Aug 26, 2008 at 3:04 PM, Don Stewart <[EMAIL PROTECTED]> wrote: >> > No, since I can get whnf with `seq`. However, that does sound like a >> > good idea (a patch to the parallel library? ) >> >> I suspect that patching parallel doesn't scale. It doesn't have a >> maintainer, so it will be slow, and the package will end up dragging >> in everything under the sun if we centralise instances in there. I >> think that the instance belongs in bytestring instead. I know that >> this would make everything depend on parallel, but that doesn't seem >> as bad a problem. > > This is a general problem we have with packages and instances. Perhaps > in this specific case it wouldn't cause many problems to make bytestring > depend on parallel (though it means bytestring cannot be a boot lib and > cannot be used to implement basic IO) but in general it can be a > problem. I can't see any obvious solutions. We don't want lots of tiny > packages that just depend on two other packages and define a instance.
Just some raw ideas: What if we had a way to express 'optional dependencies' between packages in a cabal file. Something like 'if package x is installed (and satisfies given version constraints) then add module UseX'. One problem with this idea is that I might install the missing (optional) package afterwards, and then I still do not have the instance I would like (unless I re-build). Could cabal be instructed to re-build a package if an optional dependency becomes available (or if one gets removed)? Cheers Ben _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe