Fuse zipWith3
I was surprised to discover that zipWith3 has no RULES associated with it to aid fusion.
Can we add these?
I have no idea what I'm doing, but would this substitution work:
{-# RULES "zipWith3"
zipWith3 f a b c = zipWith id (zipWith f a b) c
#-}
Those who know what they're doing will likely devise a better strategy.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.4.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |