[commit: ghc] master: Refactor TcExpr.tcSeq (aab3c6d)
git at git.haskell.org
git at git.haskell.org
Tue Jun 12 16:43:27 UTC 2018
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/aab3c6d18416b3bc8e1378dfc4d485a9307ca5c7/ghc
>---------------------------------------------------------------
commit aab3c6d18416b3bc8e1378dfc4d485a9307ca5c7
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Tue Jun 12 17:36:44 2018 +0100
Refactor TcExpr.tcSeq
The function TcExpr.tcSeq seemed much longer that is really
justifiable; and was set to get worse with the fix to Trac #15242.
This patch refactors the special cases for function applications,
so that the special case for 'seq' can use the regular tcFunApp,
which makes the code both clearer and shorter. And smooths the
way for #15242.
The special case for 'tagToEnum#' is even more weird and ad-hoc,
so I refrained from meddling iwth it for now.
I also combined HsUtils.mkHsAppType and mkHsAppTypeOut, so that
I could have a single 'wrapHsArgs' function, thereby fixing a
ToDo from Alan Zimmerman. That means tha tmkHsAppType now has
an equality predicate, but I guess that's fair enough.
>---------------------------------------------------------------
aab3c6d18416b3bc8e1378dfc4d485a9307ca5c7
compiler/hsSyn/HsUtils.hs | 9 +--
compiler/typecheck/TcExpr.hs | 117 +++++++++++++---------------
testsuite/tests/ghci/scripts/Defer02.stderr | 4 +-
3 files changed, 57 insertions(+), 73 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 aab3c6d18416b3bc8e1378dfc4d485a9307ca5c7
More information about the ghc-commits
mailing list