
#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 simonpj):
Ah, it seems I have two make sure mkTypeableBinds is called before simplifyTop in tcRnSrcDecls.
This is a stronger reason for deferring the desugaring of `Typeable` evidence: such evidence necessarily refers to top-level Haskell binding for the type representation of a type constructor defined in this module. e.g. To solve `Typeable T` we need to refer to `T`'s type representation. But we haven't generated those top-level bindings yet. In general, such evidence-solving may take place before `simplifyTop` is called; e.g. in `simplifyInfer`. Given this, better to defer to the desugarer I think, to postpone any evidence-solving that requires bindings that might be generated in this very module. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14691#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler