#959: Debugging info(?) leaks out: "Urk! Inventing strangely-kinded void TyCon"
----------------------------------------+-----------------------------------
    Reporter:  igloo                    |        Owner:                  
        Type:  bug                      |       Status:  closed          
    Priority:  normal                   |    Milestone:  _|_             
   Component:  Compiler (Type checker)  |      Version:  6.6             
    Severity:  minor                    |   Resolution:  fixed           
    Keywords:                           |   Difficulty:  Unknown         
    Testcase:  tcfail188                |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple         |  
----------------------------------------+-----------------------------------
Changes (by simonpj):

  * status:  new => closed
 * cc: [email protected] (added)
  * resolution:  => fixed

Comment:

 I finally got around to fixing this
 {{{
 Thu Oct 15 13:28:10 BST 2009  [email protected]
   * Fix Trac #959: a long-standing bug in instantiating
     otherwise-unbound type variables

      DO NOT MERGE TO GHC 6.12 branch
      (Reason: interface file format change.)

   The typechecker needs to instantiate otherwise-unconstraint type
 variables to
   an appropriately-kinded constant type, but we didn't have a supply of
   arbitrarily-kinded tycons for this purpose.  Now we do.

   The details are described in Note [Any types] in TysPrim.  The
   fundamental change is that there is a new sort of TyCon, namely
   AnyTyCon, defined in TyCon.

   There's a small change to interface-file binary format, because the new
   AnyTyCons have to be serialised.

   I tided up the handling of uniques a bit too, so that mkUnique is not
   exported, so that we can see all the different name spaces in one
 module.


     M ./compiler/basicTypes/OccName.lhs -10 +11
     M ./compiler/basicTypes/Unique.lhs -4 +20
     M ./compiler/deSugar/DsBinds.lhs -25 +23
     M ./compiler/iface/BinIface.hs -1 +5
     M ./compiler/iface/IfaceType.lhs -11 +22
     M ./compiler/iface/TcIface.lhs +3
     M ./compiler/nativeGen/Reg.hs -2 +2
     M ./compiler/nativeGen/RegAlloc/Graph/ArchBase.hs -2 +2
     M ./compiler/nativeGen/RegAlloc/Graph/SpillClean.hs -3 +3
     M ./compiler/nativeGen/RegClass.hs -3 +3
     M ./compiler/prelude/PrelNames.lhs -5 +3
     M ./compiler/prelude/TysPrim.lhs -56 +120
     M ./compiler/prelude/TysWiredIn.lhs -4 +2
     M ./compiler/stgSyn/CoreToStg.lhs -1 +1
     M ./compiler/typecheck/TcHsSyn.lhs -75 +1
     M ./compiler/types/TyCon.lhs -16 +44
     M ./compiler/types/TypeRep.lhs -8 +5
     M ./compiler/vectorise/VectUtils.hs -1 +1
 }}}
 '''IAN''': Don't merge to the 6.12 branch, because it changes interface
 file formats slightly.

 tcfail188 now compiles ok.

 '''BEN''': as part of the `mkUnique` tidy-up I moved a few lines from
 `nativeGen` to `Unique`.  Can you just review the patch (the bits
 affecting nativeGen are only a few lines) to check it's ok.  It seems to
 validate.

 Simon

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/959#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to