-
Simon Peyton Jones authored
--------------------------- Match rules before inlining --------------------------- This commit fulfils a long-standing wish by Manuel that RULES matching occurs before inlining. So if a RULE matches, it'll get used, even if the function can also be inlined. It's a bit dodgy to actually rely on this, because maybe the rule doesn't match *yet* but will do after a bit more transformation. But it does help with things like class operations. Class ops are simply selectors which pick a method out of a dictionary, so they are inlined rather vigorously. But we might want a RULE for a class method (e.g. (==) [Char] = eqString), and such rules would practically never fire if inlining took priority.
5d89d8eb