RFC: A new tool for dependencies

The last few days I've been thinking a bit about dependencies among our
packages in HABS. My belief is that it would be beneficial to be able
to very
quickly see whether a set of packages is consistent in dependencies and
therefore ought to compile. Now I may be wrong about this, which is why I'm
asking for comments early on. I've only spent about an hour hacking on this
so far, I'm confident such a tool is possible (actually rather easy) to
make. So, please comment before I waste too much time on something that in
fact is useless!
The central part is a database of tuples:

Hi Magnus,
So, what are your thoughts. Should I continue hacking on this?
there already is a tool that can figure out which versions of a given set of packages are compatible with each other: cabal-install. The code of that utility features an algorithm to compute something that's called "InstallPlan". In my humble opinion, that is what we should use to maintain our PKGLIST. Unfortunately, cabal-install doesn't have a library interface that we could access, so to get that done we would have to hack that tool, or we would have to convince Duncan to hack it for us. Either way, I feel that it's more sensible to re-use that existing code (which is being developed and maintained by the community) rather than re-inventing all this from scratch. Just my 2 cents ... Peter

On 11/01/11 20:57, Peter Simons wrote:
Hi Magnus,
So, what are your thoughts. Should I continue hacking on this?
there already is a tool that can figure out which versions of a given set of packages are compatible with each other: cabal-install. The code of that utility features an algorithm to compute something that's called "InstallPlan". In my humble opinion, that is what we should use to maintain our PKGLIST.
Thanks for pointing out that option for the implementation.
Unfortunately, cabal-install doesn't have a library interface that we could access, so to get that done we would have to hack that tool, or we would have to convince Duncan to hack it for us. Either way, I feel that it's more sensible to re-use that existing code (which is being developed and maintained by the community) rather than re-inventing all this from scratch.
Implementation details aside, do you think that such a tool would be useful? /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus
participants (2)
-
Magnus Therning
-
Peter Simons