Abstract

In this dissertation we present the RICE optimizing compiler for the functional logic language Curry. This is the first general optimizing compiler for a functional logic language. Our work is based on the idea of compiling through program transformations, which we have adapted from the functional language compiler community. We also present the GAS system for generating new program transformations, which uses the power of functional logic programming to provide a flexible framework for describing transformations. This allows us to describe and implement a wide range of optimizations including inlining, shortcut deforestation, unboxing, and case shortcutting, a new optimization we developed specifically for functional logic language. We show the correctness of these optimizations and demonstrate their effectiveness. In particular, we show that RICE outperform previous compilers by 2 or 3 orders of magnitude on standard benchmarks.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call