[GHC] #8381: Simplifier ticks exhausted
GHC
ghc-devs at haskell.org
Sun Sep 29 19:50:27 CEST 2013
#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
More information about the ghc-tickets
mailing list