#4012: Compilation results are not deterministic
-------------------------------+--------------------------------------------
  Reporter:  kili              |          Owner:  igloo               
      Type:  bug               |         Status:  new                 
  Priority:  high              |      Milestone:  7.6.2               
 Component:  Compiler          |        Version:  6.12.2              
Resolution:                    |       Keywords:                      
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple    
   Failure:  Other             |     Difficulty:  Difficult (2-5 days)
  Testcase:                    |      Blockedby:                      
  Blocking:                    |        Related:                      
-------------------------------+--------------------------------------------

Comment(by simonmar):

 Actually you're right.  I said that we do alpha-renaming, but in fact the
 current algorithm keeps the original names when they don't clash, and that
 gives rise to the `lvl2/lvl3` difference in your example.

 We should not be using the original `OccName` when tidying a local binder,
 we should just always use "x", or use a different `OccName` for different
 kinds of binders (e.g. "x" for let-binders, "y" for lambdas, and "z" for
 case binders).  Relevant code is in `coreSyn/CoreTidy.lhs:tidyIdBndr`.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4012#comment:30>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to