
#8381: Simplifier ticks exhausted ---------------------------------------+---------------------------------- Reporter: guest | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: wontfix | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: Compile-time crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ---------------------------------------+---------------------------------- Changes (by monoidal): * status: new => closed * resolution: => wontfix Comment: The problem is caused by compiling `ghc -O Fix`, where `Fix` is {{{ data F a = F { unF :: F a -> a } y :: (a -> a) -> a y = \f -> (\x -> f (unF x x)) (F (\x -> f (unF x x))) }}} Unfortunately, GHC's inliner is known to get stuck with recursion expressed this way. This is documented at http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/bugs.html. You can write `y` in a different way, for example {{{ y f = let x = f x in x }}} and then the program works. Since there is an already-documented issue, and here it can be bypassed, I am closing as 'wontfix'. However, as the documentation says - if you find a different, non-contrived way to get this error, please reopen or create a new ticket. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8381#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler