Portland State University. Department of Computer Science
Term of Graduation
Date of Publication
Doctor of Philosophy (Ph.D.) in Computer Science
Curry, Functional Logic Programming, Non Determinism, Pull Tabbing, Set Functions
1 online resource (vii, 254 pages)
This document presents a new compiler for the Functional Logic programming language Curry based on a novel pull-tabbing evaluation strategy called the Fair Scheme. A simple version of the Fair Scheme is proven sound, complete, and optimal. An elaborated version is also developed, which supports narrowing computations and other features of Curry, such as constraint programming, equational constraints, and set functions.
The Fair Scheme is used to develop a new Curry system called Sprite, a high-quality, performant implementation whose aims are to promote practical uses of Curry and to serve as a laboratory for further research. An important aspect of Sprite is its integration with the popular imperative language Python. This combination allows one to write hybrid programs in which the programmer may move between declarative and non-declarative styles with relative ease. Benchmarking data show Sprite to be more complete than other Curry systems and competitive in terms of execution time, particularly for non-deterministic programs.
©2023 Andrew Michael Jost
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).
Jost, Andrew Michael, "Implementing a Functional Logic Programming Language via the Fair Scheme" (2023). Dissertations and Theses. Paper 6419.