#1600: Optimisation: CPR the results of IO
-------------------------------+--------------------------------------------
  Reporter:  simonmar          |          Owner:         
      Type:  task              |         Status:  new    
  Priority:  normal            |      Milestone:  6.10   
 Component:  Compiler          |        Version:  6.6.1  
  Severity:  normal            |       Keywords:         
Difficulty:  Moderate (1 day)  |             Os:  Unknown
  Testcase:                    |   Architecture:  Unknown
-------------------------------+--------------------------------------------
GHC currently cannot unbox the result of a function in the IO monad.  For
 example:

 {{{
 facIO :: Int -> IO Int
 facIO n = if n < 2 then return 1 else do n' <- facIO (n-1); return (n*n')
 }}}

 the `Int` argument is unboxed fine, but not the result.  It ought to be
 possible to do this: the CPR analysis needs to somehow look inside the
 unboxed pair returned by IO-monadic code.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1600>
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