Quick question re RULES
Simon Peyton-Jones
simonpj@microsoft.com
Thu, 2 Nov 2000 00:18:45 -0800
| PrelBase contains the appended code. Am I correct in
| assuming that the stuff is structured as it is, because the
| "map" rule first `breaks' the map `open', which exposes it
| to the various foldr/build rules, and if no foldr/build rule
| matches, the "mapList" rule `closes' it again in a later
| phase of optimisation - after build was inlined? If so, it
| seems like the whole thing depends a bit on the timing of
| the various optimsations (the map might be closed again
| before any of the foldr/build rules fires). Is this maybe
| the reason that build has an INLINE 2 pragma, which delays
| its inlining, and thus, the closing of the map?
That's exactly it.
| All very cunning, it seems ;-)
A bit too cunning for comfort. I wish I could think of a better
way to expose map's impl using build without paying a price
for doing so if it turns out not to fuse with anything. But so
far I've failed to do so.
Is this a propos of your new transformations for parallelism?
Simon