@inproceedings { , title = {Programs for cheap!}, abstract = {Write down the definition of a recursion operator on a piece of paper. Tell me its type, but be careful not to let me see the operator’s definition. I will tell you an optimization theorem that the operator satisfies. As an added bonus, I will also give you a proof of correctness for the optimisation, along with a formal guarantee about its effect on performance. The purpose of this paper is to explain these tricks.}, conference = {Thirtieth Annual ACM/IEEE Symposium on Logic in Computer Science}, doi = {10.1109/LICS.2015.21}, isbn = {9781479988754}, organization = {Kyoto, Japan}, pages = {115-126}, publicationstatus = {Published}, publisher = {Association for Computing Machinery (ACM)}, url = {https://nottingham-repository.worktribe.com/output/982982}, volume = {2015-July}, year = {2015}, author = {Hackett, Jennifer and Hutton, Graham} }