Modular, Higher-Order Cardinality Analysis in Theory and Practice

November 12, 2013

Ilya Sergey


Modular, Higher-Order Cardinality Analysis in Theory and Practice

Time:   11:00am
Location:   Meeting room 302 (Mountain View), level 3

Since the mid ’80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. In my talk, I will describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of its use in a full-scale, state of the art optimising compiler. The analysis finds many single-entry thunks and one-shot lambdas and enables a number of program optimisations.