UPV-Curry: An Incremental Curry Interpreter with Polymorphic Types and Monadic I/O


Author

María Alpuente, Santiago Escobar, and Salvador Lucas.

Abstract

Functional logic programming integrates the most interesting features of modern functional and logic languages. The multi-paradigm declarative language Curry is an extension of Haskell which is intended to become a standard in the area. In this paper, we present UPV-Curry, an efficient and rather complete implementation of Curry. We compare UPV-Curry with already existing implementations and provide experimental evidence of the fact that the techniques used in implementing UPV-Curry, which exploit incrementality both in the basic operational machinery and in the data structures used to guide the computations, actually speeds up the Curry execution mechanism.

Key Words

Curry, Functional logic languages, Implementation, Needed narrowing.