Curry without Success

by Sergio Antoy, Michael Hanus

Proc. of the 23rd International Workshop on Functional and (Constraint) Logic Programming (WFLP 2014), Universität Halle-Wittenberg, pp. 40-54, 2014

Curry is a successful, general-purpose, functional logic programming language that predefines a singleton type Success explicitly to support its logic component. We take the likely-controversial position that without Success Curry would be as much logic or more. We draw a short history and motivation for the existence of this type and justify why its elimination could be advantageous. Furthermore, we propose a new interpretation of rule application which is convenient for programming and increases the similarity between the functional component of Curry and functional programming as in Haskell. We outline some related theoretical (semantics) and practical (implementation) consequences of our proposal.

Preprint (PDF) BibTeX-Entry Online