#8215: Out of scope with `-dcore-lint` and derived instances in GHCi -------------------------------------+------------------------------------ Reporter: nomeata | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:dfa8ef031c83998c163bb94fb84ff8e02ef86cf8/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="dfa8ef031c83998c163bb94fb84ff8e02ef86cf8" Improve Linting in GHCi (fixes Trac #8215) The original problem was that we weren't bringing varaibles bound in the interactive context into scope before Linting the result of a top-level declaration in GHCi. (We were doing this for expressions.) Moreover I found that we weren't Linting the result of desugaring a GHCi expression, which we really should be doing. It took me a bit of time to unravel all this, and I did some refactoring to make it easier next time. * CoreMonad contains the Lint wrappers that get the right environments into place. It always had endPass and lintPassResult (which Lints bindings), but now it has lintInteractiveExpr. * Both use a common function CoreMonad.interactiveInScope to find those in-scope variables. Quite a bit of knock-on effects from this, but nothing exciting. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8215#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler