
Alexis King
On Oct 1, 2019, at 18:19, Ben Gamari
wrote: Your question is a very good one which, until quite recently, there was not a particularly good answer to. However, in the past months we have been working on infrastructure (in the form of head.hackage [0]) to make GHC more testable in pre-release form.
I have a draft blog post explaining the currently state-of-play here [1,2]. Unfortunately between ICFP, release things, vacation, and bug fixing I've lacked the time to finish these off (the tutorial in particular).
Hi Ben,
Many thanks for your response—this infrastructure looks incredibly helpful! I’ll give it a try. One question I do have just from giving it a look involves the cabal.constraints file available here:
https://ghc.gitlab.haskell.org/head.hackage/cabal.constraints https://ghc.gitlab.haskell.org/head.hackage/cabal.constraints
A number of packages appear to be listed twice, and some of them (but not all of them) are pinned to different versions. Is that intentional? Or is it just a part of still being a bit of a work in progress?
Indeed it's just a function of this being a bit work in progress; we only started allowing multiple patch versions relatively recently and it looks like the constraint file generation hasn't been updated to account for this yet. I'll try to fix that tonight.
In any case, this gets me quite a bit further, and though I’m not sure yet if my project will actually build, I can now at least construct a valid build plan. Thanks again!
Cheers, - Ben