
#9207: Detect obvious cases of infinite recursion. ------------------------------------+-------------------------------------- Reporter: mrugiero | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: infinite recursion Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: None/Unknown | Blocked By: Test Case: | Related Tickets: Blocking: | ------------------------------------+-------------------------------------- Comment (by mrugiero): I'll look into those in a minute (I'm trying to finish another chapter of real world Haskell right now :) ), but in the meantime I want to clarify on your last comment that it's exactly why I put the "obvious" part in the title of the FR. When it's the same function calling itself with the same arguments it's really obvious, as long as it's pure, that it will end up in infinite recursion. I left implicit that non-obvious causes of infinite recursion wouldn't be intercepted by this. I didn't mention those because those would be harder for the compiler to catch, and the harder it gets the more it becomes proper of a static analysis tool to avoid wasting time at every compilation cycle. The obvious ones are the one that might belong to the compiler. But if you say it's part of the power of the language, I guess you must be right, I hope I'll understand why soon :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9207#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler