
#14951: SpecContsr needs two runs when one should suffice -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: SpecConstr Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #14844 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): See `wip/T14951` for what I have in mind. If fixes the problem with the example code in the ticket.
BTW, what is the connection to the title of the ticket? Why does two runs help?
Ah, right: If you simplify, then `l` gets inlined, and suddenly the body of `foo` _does_ scrutinize `t` and a second run of !SpecConstr would specialize `l`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14951#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler