austin at well-typed.com
Tue Apr 22 12:42:46 UTC 2014
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
- 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
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.
Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
More information about the ghc-devs