Abstract
We propose an approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion. Programs in our paradigm are theories in a constructor-based conditional rewriting logic. We present proof calculi and a model theory for this logic, and we prove the existence of free term models which provide an adequate intended semantics for programs. Moreover, we develop a sound and strongly complete lazy narrowing calculus, which is able to support sharing without the technical overhead of graph rewriting and to identify safe cases for eager variable elimination.
Research supported in part by the Spanish CICYT (project TIC 95-0433-C03-01 “CPD”) and by the ESPRIT BR Working Group N. 6028 “CCL”.
Chapter PDF
Similar content being viewed by others
Keywords
References
S. Antoy, R. Echahed, and M. Hanus. A Needed Narrowing Strategy. Proc. 21st ACM Symp. on Princ. of Prog. Lang., Portland, pp. 268–279, 1994.
P. Arenas-Sánchez and A. Gil-Luezas. BabLog User's Manual. Tech. Rep. DIA 94/12, 1994.
N. Dershowitz and Z. Manna: Proving Termination with Multiset Orderings. Comm. of the ACM 22(8), 1979, 465–476.
M. Falaschi, G. Levi, M. Martelli and C. Palamidessi. A Model-Theoretic Reconstruction of the Operational Semantics of Logic Programs. Information and Computation, 102(1), pp. 86–113, 1993.
E. Giovannetti, G. Levi, C. Moiso and C. Palamidessi. Kernel-LEAF: A Logic plus Functional Language. JCSS 42 (2), pp. 139–185, 1991.
J. A. Goguen, J. W. Thatcher, E. G. Wagner and J. B. Wright. Initial Algebra Semantics and Continuous Algebras. Journal of the ACM 24(1), pp. 68–95, 1977.
J. C. González-Moreno, M. T. Hortalá-González and M. Rodríguez-Artalejo. On the completeness of Narrowing as the Operational Semantics of Functional Logic Programming. Proc. CSL'92, Springer LNCS 702, pp. 216–230, 1993.
J. C. González-Moreno, M. T. Hortalá-González, F.J. López-Fraguas and M. Rodríguez-Artalejo. A Rewriting Logic for Declarative Programming, Tech. Rep. DIA 95/10, 1995.
J. C. González-Moreno. A Correctness Proof for Warren's HO into FO Translation. Proc. GULP'93, Gizzeria (CZ), Italy, 1993.
M. Hanus. The Integration of Functions into Logic Programming: A Survey. JLP (19&20). Special issue “Ten Years of Logic Programming”, pp. 583–628, 1994.
M. Hanus. Lazy Unification with Simplification. Proc. ESOP'94, Springer LNCS 778, pp. 272–286, 1994.
M. Hanus. Combining Lazy Narrowing and Simplification. Proc. PLILP'94, Springer LNCS 844, pp. 370–384, 1994.
H. Hussmann. Non-determinism in Algebraic Specifications and Algebraic Programs. Birkhäuser Verlag, 1993.
R. Loogen, F.J.López-Fraguas and M.Rodríguez-Artalejo. A Demand Driven Computation Strategy for Lazy Narrowing. Proc. PLILP'93, Springer LNCS 714, pp. 184–200, 1993.
R. Loogen and S. Winkler. Dynamic detection of determinism in functional logic languages. TCS 142, pp. 59–87, 1995.
F. J. López-Fraguas. Programación Funcional y Lógica con Restricciones. PhD Thesis, Univ. Complutense Madrid, 1994. (In Spanish)
J. Meseguer. Conditional rewriting logic as a unified model of concurrency. TCS 96, pp. 73–155, 1992.
B. Möller. On the Algebraic Specification of Infinite Objects — Ordered and Continuous Models of Algebraic Types. Acta Informatica 22, pp. 537–578, 1985.
A. Middeldorp and E. Hamoen. Completeness Results for Basic Narrowing. Applicable Algebra in Engineering, Comm. and Comp. 5, pp. 213–253, 1994.
J. J. Moreno-Navarro and M. Rodríguez-Artalejo. Logic Programming with Functions and Predicates: The Language BABEL. JLP 12, pp. 191–223, 1992.
S. Okui, A. Middeldorp and T. Ida. Lazy Narrowing: Strong Completeness and Eager Variable Elimination. Proc. CAAP'95, Springer LNCS 915, pp. 394–408, 1995.
C. Prehofer. A Call-by-Need Strategy for Higher-Order Functional Logic Programming. Proc. ILPS'95, MIT Press, pp. 147–161, 1995.
A. Sarmiento-Escalona. Una aproximación a la Programación Lógica con Funciones Indeterministas, PhD Thesis, Univ. La Coruña, 1992. (In Spanish)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J., Rodríguez-Artalejo, M. (1996). A rewriting logic for declarative programming. In: Nielson, H.R. (eds) Programming Languages and Systems — ESOP '96. ESOP 1996. Lecture Notes in Computer Science, vol 1058. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61055-3_35
Download citation
DOI: https://doi.org/10.1007/3-540-61055-3_35
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61055-7
Online ISBN: 978-3-540-49942-8
eBook Packages: Springer Book Archive