Tue Apr 22 05:04:00 PDT 2008 [EMAIL PROTECTED]
* Simplify SimplCont, plus some other small changes to the Simplifier
The main change in this patch is this:
* The Stop constructor of SimplCont no longer contains the OutType
of the whole continuation. This is a nice simplification in
lots of places where we build a Stop continuation. For example,
rebuildCall no longer needs to maintain the type of the function.
* Similarly StrictArg no longer needs an OutType
* The consequential complication is that contResultType (not called
much) needs to be given the type of the thing in the middle. No
big deal.
* Lots of other small knock-on effects
Other changes in here
* simplLazyBind does do the type-abstraction thing if there's
a lambda inside. See comments in simplLazyBind
* simplLazyBind reduces simplifier iterations by keeping
unfolding information for stuff for which type abstraction is
done (see add_poly_bind)
All of this came up when implementing System IF, but seems worth applying
to the HEAD
M ./compiler/coreSyn/CoreUtils.lhs -1 +5
M ./compiler/simplCore/SimplEnv.lhs -6 +4
M ./compiler/simplCore/SimplUtils.lhs -57 +61
M ./compiler/simplCore/Simplify.lhs -68 +97
View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20080422120400-1287e-ab8e7bd3ae46b28b24f6223df0b15131ec135f46.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc