
Hello all, At the behast of Simon&Simon, we're going to start doing weekly summary updates. We generally meet every week, but lots of times people may not be privvy to our plans. Here's to fixing that! (I would have started last week actually - but I got cut off by a hardware failure last week due to a lightning storm that fried some stuff! Nothing ultra critical, and after a little time and some replacements, though, everything seems OK.) So here's a status summary of what I've been up to, and what the plans are: - Last week, I was cut short on time due to hardware failure, but I spent time this past weekend playing catch-up a bit. - The new OverloadedRecordFields extension is Ready To Go, as I hinted on the list earlier. You can find the work on 'wip/orf' branches in GHC and Haddock. Thanks to Adam, catching this back up to HEAD did not take very long. I would like to merge it within the next week before it bitrots any further. If you're working on a branch dealing with the renamer, name resolution, desugaring, be warned! Big patch incoming! - The Applicative/Monad changes are on their way. After some minor fiddling this morning, the patches are about 95% complete I'd say - they just require a few minor touchups to some upstream libraries. I'd like to merge the AMP patches within the week if possible. They're pending review from the Core Libraries committee now. This patch should not negatively impact anyone working on base right now, I imagine. Or at least not very much. - I spent some time on a new optimization for low-level memory copies, and support for -march/-mcpu in GHC as a side project, so we can take advantage of CPU-specific features more easily. After some fumbling on Saturday and wanting to merge them, I got stalled by a problem, but I think I see my (horrific, stupid, stupid) error now upon review. Hopefully I can get this in soon. - I also spent time this week trying something else fun: I spent a few hours dealing with the Coverity static analyzer tool, attempting to run it over the GHC Runtime system. I succeeded! According to their statistics, it has a total of 124,074 LOC analyzed (this includes header files), with 44 detected possible defects throughout, with a defect ratio of 0.35. If their claims are to be believed, they typically hit within a 5-20% false positive rate. That would mean 30 of these bugs could be real, in fact. At the moment, Scan results are not public, and I do not (yet) have access to the defects. If you'd like access, don't worry - I'll be sending out another email soon about this, and who wants access to the reports... If you'd like to know more, see https://scan.coverity.com - I made some merges to the GHC branch, and all outstanding merges are now done, minus one from Carter, which I will take care of soon (I made it fall out of date, totally my fault). So far, the 7.8.3 branch contains about 7 bug fixes, but more are surely going to be on the way. - There's a new 7.8 FAQ page - https://ghc.haskell.org/trac/ghc/wiki/GHC-7.8-FAQ - over the past few weeks, I've spent time talking to users and collecting some pitfalls they've run into, since a lot of things changed this cycle. This page is preliminary, but *many* people have been tripped up by the few things in there! If you've encountered some stumbling block with 7.8, please add it to the page. Also, if the wording is confusing, please re-word it if you can, or tell me! I will advertise this FAQ more widely to glasgow-haskell-users soon. ------------------------------------------------------------------------------------------ But what about this week? Well: - Like I said above, I'll be merging some things, hopefully including: my optimization, ORF, and the AMP changes. Watch this space. - I will be triaging bugs. I've been putting this off because it's a bit tedious, but I'm likely going to start after this email and Just Do It. Prepare your inbox, depending on how well I can wield the 'bulk edit' feature. By the end of it, we should have an accurate depiction of what we want in 7.8.3. - On that note, we'll be using a new milestoning policy. Things filed at 7.4 stage will now be demoted in priority, since the 7.8 branch is done. The 7.6 tickets will NOT be re-milestoned at all - they could be young, and their priority shouldn't be touched unfairly and preemptively. Most people don't need to care about this, except possibly me and Herbert. But if you do want to move something around, please let me know, and I'll fill you in on the details. - I've been looking into our CI setup for GHC, and evaluating things. Right now though, I am directly working on getting Windows build bots set up on Gabor's infrastructure. He gave me the credentials, and hopefully this should not take long, it just slipped my mind. But mostly I've been looking at CI systems for Hackage, so that we can try to continuously integrate a subset of important packages against GHC over time. Right now, we have Travis-CI thanks to Herbert, but not quite everyone uses this (or doesn't properly configure it to e.g. test HEAD). This would really help find things in the future, I think, especially closer to release. It would also really help find nasty bugs in the RCs, like the dreaded #8978 Right now, after some thought, I'm looking into Michael's Stackage as a starting point for this, as he's done some awesome work. But I haven't yet done so in anger, and there are some other things I want to try too. ------------------------------------------------------------------------------------------ I think that's all for now. Do let me know if you have questions. -- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

Hi, Am Dienstag, den 22.04.2014, 07:42 -0500 schrieb Austin Seipp:
- I've been looking into our CI setup for GHC, and evaluating things. Right now though, I am directly working on getting Windows build bots set up on Gabor's infrastructure. He gave me the credentials, and hopefully this should not take long, it just slipped my mind.
But mostly I've been looking at CI systems for Hackage, so that we can try to continuously integrate a subset of important packages against GHC over time. Right now, we have Travis-CI thanks to Herbert, but not quite everyone uses this (or doesn't properly configure it to e.g. test HEAD).
This would really help find things in the future, I think, especially closer to release. It would also really help find nasty bugs in the RCs, like the dreaded #8978
Right now, after some thought, I'm looking into Michael's Stackage as a starting point for this, as he's done some awesome work. But I haven't yet done so in anger, and there are some other things I want to try too.
having GHC HQ monitor breakage in (a subset) of hackage for HEAD would be great! I can imagine a daily (or weekly, depending on resources) build of all of hackage or stackage using HEAD, and when there is a breakage, then git bisect on our soon bisectable repo and a tool that would allow the common git hacker to easily built and test the one breaking package will let us know about problems quickly and with little friction. (The sole purpose of this message is to convey motivation :-)) Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org

| having GHC HQ monitor breakage in (a subset) of hackage for HEAD would | be great! I can imagine a daily (or weekly, depending on resources) | build of all of hackage or stackage using HEAD, and when there is a | breakage, then git bisect on our soon bisectable repo and a tool that | would allow the common git hacker to easily built and test the one | breaking package will let us know about problems quickly and with | little friction. | | (The sole purpose of this message is to convey motivation :-)) Please remember that "ghc hq" = Austin and me. And I have another job. Relying on GHC for anything means that you may wait a long time. So we increasingly rely on the army of GHC volunteers to do the heavy lifting. I'm increasingly encouraging Austin to see his role as supporting, encouraging, helping, coordinating, removing road-blocks from, keeping well-informed, and thanking volunteers, rather than doing the work himself. So Yay for motivation, but it's the ghc-devs community that you are addressing, not "ghc hq". And THANK YOU ghc-devs. We love you. Simon

Hi, Am Donnerstag, den 24.04.2014, 08:29 +0000 schrieb Simon Peyton Jones:
Please remember that "ghc hq" = Austin and me.
sorry, I meant and should have said, more generally, GHC developers. Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org

On Thu, Apr 24, 2014 at 3:29 PM, Simon Peyton Jones
So we increasingly rely on the army of GHC volunteers to do the heavy lifting. I'm increasingly encouraging Austin to see his role as supporting, encouraging, helping, coordinating, removing road-blocks from, keeping well-informed, and thanking volunteers, rather than doing the work himself.
To that end, I have one or two book recommendations for Austin if he would like them (ping me off-list). Organizing volunteers isn't easy but specialists have worked hard on this problem and shared their results. -- Kim-Ee

On 2014-04-22 at 14:42:46 +0200, Austin Seipp wrote: [...]
- I've been looking into our CI setup for GHC, and evaluating things. Right now though, I am directly working on getting Windows build bots set up on Gabor's infrastructure. He gave me the credentials, and hopefully this should not take long, it just slipped my mind.
But mostly I've been looking at CI systems for Hackage, so that we can try to continuously integrate a subset of important packages against GHC over time. Right now, we have Travis-CI thanks to Herbert, but not quite everyone uses this (or doesn't properly configure it to e.g. test HEAD).
This would really help find things in the future, I think, especially closer to release. It would also really help find nasty bugs in the RCs, like the dreaded #8978
Right now, after some thought, I'm looking into Michael's Stackage as a starting point for this, as he's done some awesome work. But I haven't yet done so in anger, and there are some other things I want to try too.
I want to add that a GitHub-integrated CI like Travis-CI and a "Hackage-CI" are two different CI-systems that complement each other, in case there may be the impression that one renders the other one redundant. Something like Travis-CI helps a package maintainer keep the HEAD branch from breaking early during development even before the package is actually uploaded to Hackage (furthermore, it helps pre-validating patches in pull-requests so might save the package maintainer time with patches that don't pass the test-suite). Whereas a build-the-world Hackage-CI would (the way I understand it) help detecting that the Hackage *released* package-set is in a working state for a given compiler configuration (including GHC HEAD[1]), w/o any active cooperation from the package maintainer. And more importantly, it may trigger rebuilds of depending packages, when new packages is added to the Hackage index to help detect problems due to inter-package interactions. [1]: However, I wonder how to keep Hackage buildable with GHC HEAD w/o having to patch up every package that will likely break sooner or later due to API (e.g. the AMP-refactoring will likely break stuff) and compiler changes[2], as I don't think cabal-install's --allow-newer will help in all cases. [2]: This already happened due to #8883 with the HTTP package, see also haskell/HTTP#58 Cheers, hvr
participants (5)
-
Austin Seipp
-
Herbert Valerio Riedel
-
Joachim Breitner
-
Kim-Ee Yeoh
-
Simon Peyton Jones