#12370: Implement LetUp in DmdAnal (or document why we do not do it) -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): Work in progress in branch `wip/T12370`. It already works in this simple case: {{{ foo :: (Int, Int) -> Int foo (x,y) = x + y {-# NOINLINE foo #-} bar n m = let p = (n,m) {-# NOINLINE p #-} in foo p }}} Here, bar now gets the very detailed signature `<S(S),1*U(U)><S(S),1*U(U)>m` instead of just `<L,U><L,U>m`. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12370#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler