[commit: ghc] master: Improve piResultTys and friends (4d031cf)
git at git.haskell.org
git at git.haskell.org
Thu Feb 18 12:52:38 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/4d031cf91c5eed9b162703daee274bbbe94bdc42/ghc
>---------------------------------------------------------------
commit 4d031cf91c5eed9b162703daee274bbbe94bdc42
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Thu Feb 18 11:34:12 2016 +0000
Improve piResultTys and friends
Several things here:
* Re-implement piResultTys so that its substitution has
the correct in-scope set
That means paying close attention to performance, since as we
discovered in Trac #11371, it's a heavily used function and
is often used on ordinary function types, with no foralls to
worry about substituting.
* Kill off applyTys, which was just the same as piResultTys.
* Re-engineer MkCore.mkCoreApps so that it calls piResultTys,
rather than repeatedly calling piResultTy.
>---------------------------------------------------------------
4d031cf91c5eed9b162703daee274bbbe94bdc42
compiler/coreSyn/CoreLint.hs | 2 +-
compiler/coreSyn/CoreUtils.hs | 6 +-
compiler/coreSyn/MkCore.hs | 26 +++----
compiler/iface/BuildTyCl.hs | 2 +-
compiler/typecheck/TcClassDcl.hs | 4 +-
compiler/typecheck/TcInstDcls.hs | 2 +-
compiler/typecheck/TcType.hs | 2 +-
compiler/types/Coercion.hs | 9 ++-
compiler/types/Type.hs | 149 ++++++++++++++++++++++-----------------
9 files changed, 110 insertions(+), 92 deletions(-)
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 4d031cf91c5eed9b162703daee274bbbe94bdc42
More information about the ghc-commits
mailing list