George
I believe that your #1 priority on the GHC pattern matching front is to make it so that the pattern checker will give up if it examines more than 1,000 (or whatever, there should be a settable limit) cases
in the pruner.
This should cure all the performance problems at once, at the cost of giving up on the exhaustiveness check for that function.
This is a small, local, single change; should not take long.
When do you think you’ll be done with that?
I am (very) ambitious to do a better job, and we discussed various approaches. But the First Thing is to stop GHC consuming infinite time.
Thanks!
Simon