I think everyone agrees these are valuable, its just it requires someone to be able to commit the time to actually doing it. (which is the tricky bit)It'd be very very helpful to be able to identify the *minimal* set of constraints + deps that create a conflict, and explanations in that error the exhibit how the conflict in constraints is created.b) proactively work on tooling to improve how constraint failures are reported (though perhaps having the SMT solver tooling would address this).a) improve the solver tooling. Get some sort of SMT solver ACTUALLY in cabal.ah, pardon the implication (one challenge when helping people new to haskell is i don't often get the console logs that were part of their "cabal ").things I think would help on all fronts, and I think we (as a community) actually need to figure out how to allocate manpower to the following
So we have a mix of concerns, some of which are a historical artifact of cabal having been terrible in the past, and now its not (quite) as bad, but far from perfect.
The constraint plans aren't that complicated compared with SMT solver benchmarks!
I know of several folks who've done their own internal hacked up cabal to do this, and i've heard rumors that *someone* (don't know )
On Thu, Feb 27, 2014 at 3:12 AM, Michael Snoyman <michael@snoyman.com> wrote:On Thu, Feb 27, 2014 at 10:05 AM, Carter Schonwald <carter.schonwald@gmail.com> wrote:
why should i have to use a wrapper package which pins all the constraints?I jest, BUT i have a real point in saying that.i have no clue, i'm just there dealing with the fallout of a confused new person who is convinced that cabal just doesn't work. and no fallout shelters in sight so I have to provide quick solutions that work™ to prevent frustration radiation poisoning.why not just put all the modules in the same package? :)
That's a great question. It seems to be the question no one's able to answer, myself included. As I keep saying, Yesod went through years of PVP compliance, and users were constantly having build problems. It may have been the cabal-install dependency solver prior to 0.14, and now that problem is resolved. I'm not sure. I know that the new dependency solver used Yesod as a stress test case.Releasing yesod-platform was pragmatic on two fronts:1. It guaranteed a sane build plan when cabal (for whatever reason) couldn't determine one.2. It prevents users from getting a completely untested set of packages, hopefully insulating them from some of the turbulence of Hackage.I think you need to dial back your assumptions here. Your initial email made it sound like I'd broken the Yesod stack single-handedly a bunch of times recently. That worries me. If that actually happened, please explain how it happened. If users are getting build errors when they don't use yesod-platform, well, that's something we've known about in the Yesod community for a long time. The PVP didn't solve it, yesod-platform is a hack which fixes most of the end-user issue, and I'd love to get to a real solution.Michael
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries