Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : tc-untouchables

http://hackage.haskell.org/trac/ghc/changeset/58470fb7b4a25c49b567e08740dc8df01a6c3710

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

commit 58470fb7b4a25c49b567e08740dc8df01a6c3710
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 58470fb7b4a25c49b567e08740dc8df01a6c3710

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to