[GHC] #16192: Simplifier does not preserve dependency ordering of the program

#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
participants (1)
-
GHC