[GHC] #4012: Compilation results are not deterministic
GHC
cvs-ghc at haskell.org
Wed Nov 7 23:15:40 CET 2012
#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
More information about the Glasgow-haskell-bugs
mailing list