#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