Abstract
We show that non-determinism simplifies coding certain problems into programs. We define a non-confluent, but well-behaved class of rewrite systems for supporting non-deterministic computations in functional logic programming. We show the benefits of using this class on a few examples. We define a narrowing strategy for this class of systems and prove that our strategy is sound, complete, and optimal, modulo non-deterministic choices, for appropriate definitions of these concepts. We compare our strategy with related work and show that our overall approach is fully compatible with the current proposal of a universal, broad based functional logic language.
This work has been supported in part by the NSF grant CCR-9406751.
Preview
Unable to display preview. Download preview PDF.
References
S. Antoy. Definitional trees. In Proc. of the 4th Intl. Conf. on Algebraic and Logic Programming, pages 143–157. Springer LNCS 632, 1992.
S. Antoy, R. Echahed, and M. Hanus. A needed narrowing strategy. In Proc. 21st ACM Symposium on Principles of Programming Languages, pages 268–279, Portland, 1994. Full versions at URL vvv.cs.pdx.adu/~antoy/publications.html.
R. Bird and P. Wadler. Introduction to Functional Programming. Prentice Hall, New York, NY, 1988.
Curry: An integrated functional logic language. M. Hanus (ed.), Draft Dec. 5, 1996.
E. Eder. Properties of substitutions and unifications. Journal of Symbolic Computation, 1:31–46,1985.
J. C. González Moreno, F. J. López Fraguas, M. T. Hortalá González, and M. Rodréguez Artalejo. A rewriting logic for declarative programming. In ESOP' 96, Linköping, Sweden, April, 1996. LNCS 1058, Extended version TR DIA 95/5.
M. Hanus. On extra variables in (equational) logic programming. In Proc. Twelfth International Conference on Logic Programming, pages 665–679. MIT Press, 1995.
M. Hanus. A unified computation model for functional logic programming. In Proc. 24th ACM Symposium on Principles of Programming Languages, pages 80–93, Paris, 1997.
G. Huet and J. J. Lévy. Computations in orthogonal term rewriting systems. In J. L. Lassez and G. Plotkin, editors, Computational logic: essays in honour of Alan Robinson. MIT Press, Cambridge, MA, 1991. Previous version: Call by need computations in nonambiguous linear term rewriting systems, Technical Report 359, INRIA, Le Chesnay, France, 1979.
H. Hussmann. Nondeterministic algebraic specifications and nonconfluent rewriting. J. of Logic Programming, 12:237–255, 1992.
A. Middeldorp. Call by need computations to root-stable form. In Proc. 24th ACM Symposium on Principles of Programming Languages, pages 94–105, Paris, 1997.
R. A. O'Keefe. The Craft of Prolog. The MIT Press, Cambridge, MA, 1990.
T. Suzuki, A. Middeldorp, and T. Ida. Level-confluence of conditional rewrite systems with extra variables in right-hand sides. In 6th International Conference on Rewriting Techniques and Applications, pages 179–193, Kaiserslautern, 1995. Lecture Notes in Computer Science 914.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Antoy, S. (1997). Optimal non-deterministic functional logic computations. In: Hanus, M., Heering, J., Meinke, K. (eds) Algebraic and Logic Programming. ALP HOA 1997 1997. Lecture Notes in Computer Science, vol 1298. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0027000
Download citation
DOI: https://doi.org/10.1007/BFb0027000
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63459-1
Online ISBN: 978-3-540-69555-4
eBook Packages: Springer Book Archive