
Hi Alois,
That certainly is an option. How well does it work with packages that are
not part of the Haskell Platform. Do you simply try the oldest compatible
versions of those packages?
Cheers
On Wed, Sep 3, 2014 at 8:51 AM, Alois Cochard
Hi Ernesto,
I was looking to solve this problem a while ago, but I didn't found a satisfactory tool.
What I do atm, is trying to compile using versions of an old haskell platform (like last year or something...)
I hope that help, and I would to find an automated way of doing it.
Cheers On Sep 3, 2014 2:35 PM, "Ernesto Rodriguez"
wrote: Hi Adam,
Thanks for your suggestion. As I undersdand, the flag looks at the dependencies specified by the cabal file and simply inverts the package version solving algorithm to try out older packages before newer. I am trying to solve a different problem.
Sometime, (at least myself) I specify a particular lower bound in my cabal file that simply matches whatever was installed when I did cabal install. The package might work with older versions but checking this manually is a bit tedious. I would like to have a tool which I can run on my project and it will give me an approximation of the lowest possible version I can use for each of the dependencies in my project. If all packages included more faithful information about what is the lowest possible bound, it would reduce a lot of dependency hell.
Cheers,
Ernesto
On Wed, Sep 3, 2014 at 5:40 AM, Adam Bergmark
wrote: It might be interesting to revive this PR: https://github.com/haskell/cabal/pull/1309
- Adam
On Wed, Sep 3, 2014 at 10:48 AM, Ernesto Rodriguez
wrote: Dear Cafe,
I was wondering if there exists a tool to approximate what would be the minimal versions of the dependencies required by a package.
I know that calculating this exactly is a bit intractable, but I was considering whether a tool that works as follows would work:
1) Compile the package with known to work dependencies 2) For each version of dependency as d: For each function in d used by My Package: * Perform unification of the resulting type when compiled with known to work dependencies and the type exported by the api of the version of the dependency in consideration. If all unifications succeeds, mark the version as compatible, incompatible otherwise
This approximation is obviously not complete. Nevertheless, I would like to get opinions about whether this would be a good/useful/feasible approximation? Does the current GHC api export enough functionality for this package to be feasible? Are there alternatives? I was consider doing this as my `hack` during the high energy, intense no-sleep jacobsHack! http://jacobshack.com hackathon, do you think it would be a good idea?
Thank you for the opinions and best regards,
Ernesto Rodriguez
-- Ernesto Rodriguez
Masters Student Computer Science Utrecht University
www.netowork.me github.com/netogallo
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Ernesto Rodriguez
Masters Student Computer Science Utrecht University
www.netowork.me github.com/netogallo
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Ernesto Rodriguez Masters Student Computer Science Utrecht University www.netowork.me github.com/netogallo