Sponsor
Portland State University. Department of Computer Science
First Advisor
Sergio Antoy
Term of Graduation
Spring 2022
Date of Publication
6-23-2022
Document Type
Dissertation
Degree Name
Doctor of Philosophy (Ph.D.) in Computer Science
Department
Computer Science
Language
English
Subjects
Compilers (Computer programs), Functional programming (Computer science), Mathematical optimization
DOI
10.15760/etd.7964
Physical Description
1 online resource (xi, 231 pages)
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.
Rights
In Copyright. URI: http://rightsstatements.org/vocab/InC/1.0/ This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).
Persistent Identifier
https://archives.pdx.edu/ds/psu/38307
Recommended Citation
Libby, Steven, "Making Curry with Rice: An Optimizing Curry Compiler" (2022). Dissertations and Theses. Paper 6104.
https://doi.org/10.15760/etd.7964