Consider variables with conlike unfoldings interesting
In this expression: let x = f (g e1) in e2 the simplifier will inline f if it thinks that (g e1) is an interesting argument. Until now, this was essentially the case if g was a data constructor - we'd inline f in the hope that it will inspect and hence eliminate the constructor application. This patch extends this mechanism to CONLIKE functions. We consider (g e1) interesting if g is CONLIKE and inline f in the hope that this will allow rewrite rules to match.
Showing with 67 additions and 34 deletions