[GHC] #16192: Simplifier does not preserve dependency ordering of the program
GHC
ghc-devs at haskell.org
Wed Jan 16 12:36:38 UTC 2019
#16192: Simplifier does not preserve dependency ordering of the program
-------------------------------------+-------------------------------------
Reporter: osa1 | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.6.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I noticed this some time ago, but I thought this is expected, because
there's a comment in CoreLint that mentions this:
{{{
lintCoreBindings dflags pass local_in_scope binds
= initL dflags flags in_scope_set $
addLoc TopLevelBindings $
lintLetBndrs TopLevel binders $
-- Put all the top-level binders in scope at the start
-- This is because transformation rules can bring something
-- into use 'unexpectedly'
...
}}}
However talking to SPJ today he mentioned that in Core we should actually
preserve dependency ordering, hence this ticket.
I'll update with a reproducer.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16192>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list