#7231: GHCi erroneously unloads modules after a failed :reload ------------------------------------------+--------------------------------- Reporter: parcs | Owner: Type: bug | Status: new Priority: normal | Component: GHCi Version: 7.6.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Compile-time performance bug | Testcase: Blockedby: | Blocking: Related: | ------------------------------------------+---------------------------------
Comment(by parcs): I should probably explain how I arrived at this fix: sometimes an unstable module appears before a stable module in the module graph. When it comes time to load the unstable module, and if loading it fails, then the stable module that comes after it doesn't get loaded, though it should have been. So in the scenario outlined in the ticket description, the module graph looks like this: {{{ mg = [ Bar (unstable), Foo (stable), Main (unstable) ] }}} and during the upsweep `Bar` will fail to load, so both `Foo` and `Main` get discarded. With the patch the module graph will look like: {{{ mg = [ Foo (stable), Bar (unstable), Main (unstable) ] }}} and during the upsweep `Foo` will load successfully, and `Bar` will fail to load, so only `Main` gets discarded. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7231#comment:3> 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