Mon Jun 14 14:27:26 BST 2010 [email protected]
* Gruesome fix in CorePrep to fix embarassing Trac #4121
This is a long-lurking bug that has been flushed into
the open by other arity-related changes. There's a
long comment
Note [CafInfo and floating]
to explain.
I really hate the contortions we have to do through to keep correct
CafRef information on top-level binders. The Right Thing, I believe,
is to compute CAF and arity information later, and merge it into the
interface-file information when the latter is generated.
But for now, this hackily fixes the problem.
M ./compiler/coreSyn/CorePrep.lhs -40 +120

However we need a more general fix; Note [CafInfo and floating] concludes

This is all very gruesome and horrible. It would be better to figure
out CafInfo later, after CorePrep. We'll do that in due course.
Meanwhile this horrible hack works.