strict bits of datatypes

Simon Peyton-Jones simonpj at
Thu Mar 22 04:07:59 EDT 2007

| Although I have not looked into this much, My guess is it is an issue in
| the simplifier, normally when something is examined with a case
| statement, the simplification context sets its status to 'NoneOf []',
| which means we know it is in WHNF, but we don't have any more info about
| it. I would think that the solution would be to add the same annotation
| in the simplifier to variables bound by pattern matching on strict data
| types?

Indeed!  GHC already does this.  That's why I am surprised that adding seq improves things.  Adrian has helpfully sent a test case, but I have not examined it yet


More information about the Haskell-prime mailing list