| 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

S
_______________________________________________
Haskell-prime mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to