
Peter Simons wrote:
"haskell-foo" would contain foo 1.4, foo 1.5 and whatever other versions of foo that one could reasonably expect.
the idea is intriguing.
This kind of setup means, though, that when a new version foo 1.6 comes out, re-building haskell-foo consists of builds of foo 1.4, 1.5, and 1.6 -- because all these versions are contained in the package. Assuming that all libraries are built in variants for profiling and shared linking, then "foo" must be compiled a whopping 12 times to build that package.
Also, it means that users download the same code over and over again with every update, because haskell-foo 1.6 contains exactly those copies of foo 1.4 and 1.5 that they've already installed.
It's not a particularly efficient solution, but as far as I can tell, it would get the job done.
I agree. That is what I was referring to as "bloat" in a previous message. I was unaware of the need to compile each version multiple time too. Nevertheless, it's the possibility of being able to bundle different versions in a single package that interests me. If that's possible then we can provide tools for users to create custom packages containing exactly those versions that they need. Again, I'm just thinking out loud. I have several other ideas of how this could be approached but I want to give them some more thought first before bringing them up again.