#1592: Unexpected boxing in generated code
-------------------------+--------------------------------------------------
    Reporter:  neil      |        Owner:         
        Type:  bug       |       Status:  new    
    Priority:  normal    |    Milestone:         
   Component:  Compiler  |      Version:  6.6.1  
    Severity:  minor     |   Resolution:         
    Keywords:            |   Difficulty:  Unknown
          Os:  Unknown   |     Testcase:         
Architecture:  Unknown   |  
-------------------------+--------------------------------------------------
Comment (by [EMAIL PROTECTED]):

 This actually doesn't have to do with the mutual recursion; it happens
 because of the "IO hack" in the demand analyzer. As per comments in the
 dmdAnalAlt function in DmdAnal.lhs, what's happening is that  the call to
 $wccall_r2kv is being recognized as an IO operation (based on its type);
 because an IO operation might terminate the program in a non-erroneous
 way, it wouldn't be correct to evaluate f60's arguments before the call to
 $wccall_r2kv.

 Now, in this case, $wccall_r2kv is just getchar(), which I don't think
 could possibly terminate the program, so maybe the IO hack needs to be
 made a little bit more specific...

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1592>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to