
#10321: GHC.TypeLits.Nat types no longer fully simplified. -------------------------------------+------------------------------------- Reporter: darchon | Owner: Type: bug | Status: infoneeded Priority: normal | Milestone: 7.10.2 Component: Compiler (Type | Version: 7.10.1 checker) | Keywords: TypeLits Resolution: | Architecture: Operating System: Unknown/Multiple | Unknown/Multiple Type of failure: Other | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonpj): I looked at this too. Turns out that we do normalise types for inferred let-bindings; see line 661 of `TcBinds`, the call to `normaliseType` in `mkInferredPolyId`. The explanation there is "to make the type as simple as possible". See commit `a6e7654b`. It doesn't mention a Trac ticket. So I think our guess is that normalising is usually the Right Thing. It seems inconsistent not to do it here too. If we want to, the spot is in `TcRnDriver.tcRnExpr` -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10321#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler