[commit: ghc] master: Add fusion rules for the zipWith functions in base (#15263) (fb669f5)

git at git.haskell.org git at git.haskell.org
Thu Dec 6 21:28:33 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/fb669f51b3f2cae79511ac3d1c43939d951b1f69/ghc

>---------------------------------------------------------------

commit fb669f51b3f2cae79511ac3d1c43939d951b1f69
Author: Tobias Decking <Tobias.Decking at gmail.com>
Date:   Thu Dec 6 15:32:18 2018 -0500

    Add fusion rules for the zipWith functions in base (#15263)
    
    This patch will allow `zip3` and `zipWith3` in `GHC.List` as well
    as `zipWith4`, `zipWith5`, `zipWith6` and `zipWith7` in `Data.OldList` to fuse.
    
    These rules are kept in a similar style as the rules for `zip` and `zipWith`.
    
    Added a corresponding test case.
    
    Test Plan: validate
    
    Reviewers: hvr, bgamari, simonpj
    
    Reviewed By: simonpj
    
    Subscribers: simonpj, rockbmb, rwbarton, carter
    
    GHC Trac Issues: #15263
    
    Differential Revision: https://phabricator.haskell.org/D5241


>---------------------------------------------------------------

fb669f51b3f2cae79511ac3d1c43939d951b1f69
 docs/users_guide/8.8.1-notes.rst              |   4 +
 libraries/base/Data/OldList.hs                | 142 ++++++++++++++++++++++++++
 libraries/base/GHC/List.hs                    |  51 +++++++++
 testsuite/tests/perf/should_run/T15263.hs     |  37 +++++++
 testsuite/tests/perf/should_run/T15263.stdout |   6 ++
 testsuite/tests/perf/should_run/all.T         |   7 ++
 6 files changed, 247 insertions(+)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc fb669f51b3f2cae79511ac3d1c43939d951b1f69


More information about the ghc-commits mailing list