
#7788: Recursive type family causes <<loop>> -------------------------------------+------------------------------------- Reporter: shachaf | Owner: simonpj Type: bug | Status: new Priority: high | Milestone: 7.10.1 Component: Compiler (Type | Version: 7.6.2 checker) | Keywords: Resolution: | Architecture: Operating System: Unknown/Multiple | Unknown/Multiple Type of failure: Incorrect result | Test Case: at runtime | Blocking: Blocked By: | Differential Revisions: Related Tickets: | -------------------------------------+------------------------------------- Comment (by simonpj): I'm all for having an evaluation depth. But I'm cautious about adding a flag. Just saying "lazier" doesn't say much. If we could somehow promise "lazy", for some well-specified meaning of that term, then I'd go for that. But not "disable some implementation optimisation that happens to allow one program (that one one cares about) to typecheck". Currently we flatten type-function applications, and reduce them aggressively. I think it's pretty odd that `id2` typechecks with the optimisation disabled; I strongly suspect that a simple variant will not. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7788#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler