Abstract
We propose a formal framework for functional logic programming, supporting lazy functions, non-determinism and polymorphic datatypes whose data constructors obey a given set C of equational axioms. On top of a given C, we specify a program as a set R of C-based conditional rewriting rules for defined functions. We argue that equational logic does not supply the proper semantics for such programs. Therefore, we present an alternative logic which includes C-based rewriting calculi and a notion of model. We get soundness and completeness for C-based rewriting w.r.t. models, existence of free models for all programs, and type preservation results.
This research has been partially supported by the the Spanish National Project TIC95-0433-C03-01 “CPD” and the Esprit BRA Working Group EP-22457 “CCLII”.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Almendros-Jiménez J.M., Gavilanes-Franco A., Gil-Luezas A.: Algebraic Semantics for Functional Logic Programming with Polymorphic Order-Sorted Types In Proc ALP'96. Springer LNCS 1139, pp. 299–313, 1996.
Arenas-Sánchez P., Dovier A.: Minimal Set Unification. In Proc. PLILP'95. Springer LNCS 982, pp. 397–414, 1995.
Derschowitz N., Jouannaud J.P.: Rewrite Systems. In J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science, Vol. B, Chapter 6. Elsevier North-Holland 1990.
Dovier A., Rossi G.: Embedding Extensional Finite Sets in CLP. In Proc. ILPS'93, the MIT Press, pp. 540–556, 1993.
Gervet C.: Conjunto: Constraint Logic Programming with Finite Set Domains. In Proc. ILPS'94, the MIT Press, pp. 339–358, 1994.
Giovannetti G., Levi G., Moiso C., Palamidessi C.: Kernel K-LEAF: A Logic plus Functional Language. JCSS 42 (2), pp. 139–185, 1991.
González-Moreno J.C., Hortalá-González T., López-Fraguas F.J, Rodríguez-Artalejo M.: A Rewriting Logic for Declarative Programming. In Proc. ESOP'96, Springer LNCS 1058, pp. 156–172, 1996. Full version available as TR DIA95/10, http://mozart.mat.ucm.es/papers/1996/full-esop96.ps.gz
Große G., Hölldobler J., Schneeberger J., Sigmund U., Thielscher M.: Equational Logic Programming, Actions, and Change. In Proc. ICLP'92, the MIT Press, pp. 177–191, 1992.
Hanus M.: A Functional and Logic Language with Polymorphic Types (Extended Abstract). In Proc. Int. Symposium on Design and Implementation of Symbolic Computation Systems, Springer LNCS 429, pp.215–224, 1990.
Hanus M.: The Integration of Functions into Logic Programming. A Survey. JLP (19∶20). Special issue Ten Years of Logic Programming, pp. 583–628, 1994.
Heintze N., Jaffar J.: Set Constraints and Set-Based Analysis. In Proc. PPCP'94, Springer LNCS 874, pp. 281–298, 1994.
Hussmann H.: Non-determinism Algebraic Specifications and Nonconfluent Term Rewriting. JLP 12, pp. 237–255, 1992.
Jayaraman B., Plaisted D.A.: Programming with Equations, Subsets, and Relations. In Proc. ICLP'89, Vol. 2, the MIT Press, pp. 1051–1068, 1989.
Jouannaud J.P., Kirchner C.: Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification. Computational Logic: Essays in Honor of Alan Robinson. J.L. Lassez and G. Plotkin (Eds.). The MIT Press, pp. 257–321, 1991.
Meseguer J.: A Logical Theory of Concurrent Objects and Its Realization in the Maude Language. In Agha A., Wegner P. and Yonezawa A. (Eds), Research Directions in Concurrent Object-Oriented Programming, the MIT Press, 1993.
Möller B.: On the Algebraic Specification of Infinite Objects — Ordered and Continuous Models of Algebraic Types. Acta Informatica 22, pp. 537–578, 1985.
Moreno-Navarro J.J., Rodríguez-Artalejo M.: Logic Programming with Functions and Predicates: The Language BABEL. JLP 12, pp. 191–223, 1992.
Smolka G.: Logic Programming over Polymorphically Order-Sorted Types. PhD Thesis, Fachbereich Informatik, Universität Kaiserslautern, 1989.
Reddy U.: Narrowing as the Operational Semantics of Functional Languages. In Proc. IEE Symposium on Logic Programming, pp. 138–151, 1985.
Scott D.S.: Domains for Denotational Semantics. In Proc. ICALP'82. SpringerLNCS 140, pp. 567–613, 1982.
Peterson J., Hammond K. (eds.): Report on the Programming Language Haskell. A Non-strict, Purely Functional Language. Version 1.3., May 1, 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arenas-Sánchez, P., Rodríguez-Artalejo, M. (1997). A semantic framework for functional logic programming with algebraic polymorphic types. In: Bidoit, M., Dauchet, M. (eds) TAPSOFT '97: Theory and Practice of Software Development. CAAP 1997. Lecture Notes in Computer Science, vol 1214. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030618
Download citation
DOI: https://doi.org/10.1007/BFb0030618
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62781-4
Online ISBN: 978-3-540-68517-3
eBook Packages: Springer Book Archive