
#12990: Partially applied constructors with unpacked fields simplified badly -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Inlining Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): No, it's fine. In the example, if we inline C we get {{{ ...(let w = \pq. case x of I# x1 case p of I# p1 -> case q of I# q1 -> C x1 p1 q1 in ...(w p q)...)... }}} which is fine. The comment was just saying that if we choose ''not'' to inline then we do want `w` to see the strictness via `C`'s strictness signature. So please do give it a try. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12990#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler