[commit: ghc] wip/T9732: If pattern synonym is bidirectional and its type is some unboxed type T#, generate a worker function of type Void# -> T#, and redirect the wrapper (via a compulsory unfolding) to the worker. (d16342c)

git at git.haskell.org git at git.haskell.org
Sat Nov 8 14:06:30 UTC 2014


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

On branch  : wip/T9732
Link       : http://ghc.haskell.org/trac/ghc/changeset/d16342c0d2f6583abbd43dcd1eeaae35af8a407d/ghc

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

commit d16342c0d2f6583abbd43dcd1eeaae35af8a407d
Author: Dr. ERDI Gergo <gergo at erdi.hu>
Date:   Sat Nov 8 18:38:12 2014 +0800

    If pattern synonym is bidirectional and its type is some unboxed type T#,
    generate a worker function of type Void# -> T#, and redirect the wrapper
    (via a compulsory unfolding) to the worker.


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

d16342c0d2f6583abbd43dcd1eeaae35af8a407d
 compiler/basicTypes/PatSyn.lhs       |  50 ++++++++++++--
 compiler/ghc.mk                      |   1 +
 compiler/iface/BuildTyCl.lhs         |   2 +-
 compiler/iface/IfaceSyn.lhs          |  10 +--
 compiler/iface/MkIface.lhs           |   4 +-
 compiler/iface/TcIface.lhs           |  62 +++++++++++++++---
 compiler/typecheck/TcBinds.lhs       |   8 +--
 compiler/typecheck/TcPatSyn.lhs      | 122 ++++++++++++++++++-----------------
 compiler/typecheck/TcPatSyn.lhs-boot |   4 +-
 9 files changed, 176 insertions(+), 87 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 d16342c0d2f6583abbd43dcd1eeaae35af8a407d


More information about the ghc-commits mailing list