Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
Articles 1 - 3 of 3
Full-Text Articles in Programming Languages and Compilers
Making Curry With Rice: An Optimizing Curry Compiler, Steven Libby
Making Curry With Rice: An Optimizing Curry Compiler, Steven Libby
Dissertations and Theses
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 …
Type Classes And Instance Chains: A Relational Approach, John Garrett Morris
Type Classes And Instance Chains: A Relational Approach, John Garrett Morris
Dissertations and Theses
Type classes, first proposed during the design of the Haskell programming language, extend standard type systems to support overloaded functions. Since their introduction, type classes have been used to address a range of problems, from typing ordering and arithmetic operators to describing heterogeneous lists and limited subtyping. However, while type class programming is useful for a variety of practical problems, its wider use is limited by the inexpressiveness and hidden complexity of current mechanisms. We propose two improvements to existing class systems. First, we introduce several novel language features, instance chains and explicit failure, that increase the expressiveness of type …
The Basic Scheme For The Evaluation Of Functional Logic Programs, Arthur Peters
The Basic Scheme For The Evaluation Of Functional Logic Programs, Arthur Peters
Dissertations and Theses
Functional logic languages provide a powerful programming paradigm combining the features of functional languages and logic languages. However, current implementations of functional logic languages are complex, slow, or both. This thesis presents a scheme, called the Basic Scheme, for compiling and executing functional logic languages based on non-deterministic graph rewriting. This thesis also describes the implementation and optimization of a prototype of the Basic Scheme. The prototype is simple and performs well compared to other current implementations.