[commit: ghc] type-holes-branch: Make a start towards eta-rules and injective families (c07c4a3)

Simon Peyton Jones <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : type-holes-branch

http://hackage.haskell.org/trac/ghc/changeset/c07c4a3d4e13acc1d4a43e99d5f4e11d49f037da

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

commit c07c4a3d4e13acc1d4a43e99d5f4e11d49f037da
Author: Simon Peyton Jones <[email protected]>
Date:   Mon Sep 17 11:54:20 2012 +0100

    Make a start towards eta-rules and injective families
    
    * Make Any into a type family (which it should always have been)
      This is to support the future introduction of eta rules for
      product types (see email on ghc-users title "PolyKind issue"
      early Sept 2012)
    
    * Add the *internal* data type support for
        (a) closed type families [so that you can't give
            type instance for 'Any']
        (b) injective type families [because Any is really
            injective]
      This amounts to two boolean flags on the SynFamilyTyCon
      constructor of TyCon.SynTyConRhs.
    
    There is some knock-on effect, but all of a routine nature.
    
    It remains to offer source syntax for either closed or
    injective families.

 compiler/iface/BinIface.hs          |   12 ++++++
 compiler/iface/BuildTyCl.lhs        |    2 +-
 compiler/iface/IfaceSyn.lhs         |   15 ++++----
 compiler/iface/MkIface.lhs          |   18 +++------
 compiler/iface/TcIface.lhs          |    6 ++--
 compiler/main/GHC.hs                |    2 +-
 compiler/main/PprTyThing.hs         |   14 ++++----
 compiler/prelude/TysPrim.lhs        |   17 +++++++--
 compiler/stgSyn/CoreToStg.lhs       |    3 +-
 compiler/typecheck/TcInstDcls.lhs   |   11 +++++-
 compiler/typecheck/TcRnDriver.lhs   |    9 +++--
 compiler/typecheck/TcSplice.lhs     |    5 +--
 compiler/typecheck/TcTyClsDecls.lhs |    7 ++--
 compiler/typecheck/TcTyDecls.lhs    |    5 +--
 compiler/typecheck/TcType.lhs       |    5 ++-
 compiler/types/TyCon.lhs            |   66 ++++++++++++++++++-----------------
 16 files changed, 111 insertions(+), 86 deletions(-)


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

    git show c07c4a3d4e13acc1d4a43e99d5f4e11d49f037da
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.