Mon Aug 11 05:25:23 PDT 2008  [EMAIL PROTECTED]
  * Fix Trac #2412: type synonyms and hs-boot recursion
  
  Max Bolingbroke found this awkward bug, which relates to the way in
  which hs-boot files are handled.
  
     --> HEADS UP: interface file format change: recompile everything!
  
  When we import a type synonym, we want to *refrain* from looking at its
  RHS until we've "tied the knot" in the module being compiled.  (Reason:
  the type synonym might ultimately loop back to the module being compiled.)
  To achieve this goal we need to know the *kind* of the synonym without 
  looking at its RHS.  And to do that we need its kind recorded in the interface
  file.
  
  I slightly refactored the way that the IfaceSyn data constructor
  fields work, eliminating the previous tricky re-use of the same field
  as either a type or a kind.
  
  See Note [Synonym kind loop] in TcIface
  
  

    M ./compiler/iface/BuildTyCl.lhs -4 +5
    M ./compiler/iface/IfaceSyn.lhs -9 +12
    M ./compiler/iface/MkIface.lhs -5 +6
    M ./compiler/iface/TcIface.lhs -23 +44
    M ./compiler/typecheck/TcEnv.lhs -10 +19
    M ./compiler/typecheck/TcRnDriver.lhs -22 +19
    M ./compiler/typecheck/TcTyClsDecls.lhs -3 +4
    M ./compiler/vectorise/VectType.hs +1

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20080811122523-1287e-7aae7afc69a8e747a9d22a22e146b5e811767a7a.gz

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

Reply via email to