
#14691: Replace EvTerm with CoreExpr -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.3 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): Ok, `wip/14691` has a complete refactoring. Time to address the fallout, and advise is welcome… I get {{{ libraries/base/Data/Typeable/Internal.hs:1:1: error: GHC internal error: ‘mkTrCon’ is not in scope during type checking, but it passed the renamer }}} It seems that this code: {{{ ds_ev_typeable :: MonadThings m => Type -> EvTypeable -> m CoreExpr ds_ev_typeable ty (EvTypeableTyCon tc kind_ev) = do { mkTrCon <- lookupId mkTrConName … }}} does not quite work when the current module is `Data.Typeable.Internal`, which is where `mkTrCon` is defined. Do I need a smarter `lookupId` that checks if the given `name` is supposed to be defined in the current module, and then uses the local name, rather than trying to find the global name? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14691#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler