Abstract
Programs in functional logic languages usually have to satisfy a nonambiguity condition, that semantically ensures completeness of conditional narrowing and pragmatically ensures that the defined (non-boolean) functions are deterministic and do not yield different result values for the same argument tuples. The nonambiguity condition allows the dynamic detection of determinism in implementations of functional logic languages. In this paper we show how to achieve this and what can be gained by this optimization.
Preview
Unable to display preview. Download preview PDF.
References
G.P. Balboni, P.G. Bosco, C. Cecchi, R. Melen, C. Moiso, G. Sofi: Implementation of a Parallel Logic Plus Functional Language, in: P. Treleaven (ed.), Parallel Computers: Object Oriented, Functional and Logic, Wiley 1989.
M. Bellia, G. Levi: The Relation between Logic and Functional Languages, Journal of Logic Programming, Vol.3, 1986, 217–236.
P.G.Bosco, C.Cecchi, C.Moiso: An extension of WAM for K-LEAF: A WAM-based compilation of conditional narrowing, Int. Conf. on Logic Programming, Lisboa, 1989.
P.G.Bosco, C.Cecchi, E.Giovannetti, C.Moiso, C.Palamidessi: Using resolution for a sound and efficient integration of logic and functional programming, in: J.de Bakker (ed.): Languages for Parallel Architectures: Design, Semantics, Implementation Models, Wiley 1989.
M.M.T.Chakravarty, H.C.R.Lock: The Implementation of Lazy Narrowing, Symp. on Prog. Language Impl. and Logic Prog. (PLILP) 1991, LNCS, Springer Verlag 1991.
D.DeGroot, G.Lindstrom (eds.): Logic Programming: Functions, Relations, Equations, Prentice Hall 1986.
M.Hanus: Compiling Logic Programs with Equality, Workshop on Programming Language Implementation and Logic Programming (PLILP) 1990, LNCS 456, Springer Verlag 1990.
M.Hanus: Efficient Implementation of Narrowing and Rewriting, Draft Paper, University of Dortmund 1991.
S.Kaplan: Fair conditional term rewriting systems: unification, termination and confluence, Technical Report no. 194, University of Orsay 1984.
H.Kuchen, R.Loogen, J.J. Moreno-Navarro, M.Rodríguez-Artalejo: Graph-based Implementation of a Functional Logic Language, European Symp. on Prog. (ESOP) 1990, LNCS 432, Springer Verlag 1990.
R.Loogen: From Reduction Machines to Narrowing Machines, Coll. on Combining Paradigms for Software Development, TAPSOFT 1991, LNCS 494, Springer Verlag 1991.
J.J.Moreno-Navarro, M.Rodríguez-Artalejo: BABEL: A functional and logic programming language based on constructor discipline and narrowing, Conference on Algebraic and Logic Programming 1988, LNCS 343, Springer Verlag 1989.
J.J.Moreno-Navarro, M.Rodríguez-Artalejo: Logic Programming with Functions and Predicates: The Language BABEL, Technical Report DIA/89/3, Universidad Complutense, Madrid 1989, to appear in the Journal of Logic Programming.
J.J.Moreno-Navarro, H.Kuchen, R.Loogen, M.Rodríguez-Artalejo: Lazy Narrowing in a Graph Machine, Conf. on Algebraic and Logic Prog. (ALP) 1990, LNCS 463, Springer Verlag 1990.
A.Mück: Compilation of Narrowing, Workshop on Programming Language Implementation and Logic Programming (PLILP) 1990, LNCS 456, Springer Verlag 1990.
U.S. Reddy: Functional Logic Languages, Part I, Workshop on Graph Reduction, LNCS 279, Springer Verlag 1987, 401–425.
D.H.D. Warren: An Abstract Prolog Instruction Set, Technical Note 309, SRI International, Menlo Park, California, October 1983.
St. Winkler: Development of a Program System for the Functional Logic Language BABEL by Implementing a Program Environment, a Compiler and a Stack Based Abstract Machine, Diploma Thesis, RWTH Aachen, June 1991 (in german).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Loogen, R., Winkler, S. (1991). Dynamic detection of determinism in functional logic languages. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_110
Download citation
DOI: https://doi.org/10.1007/3-540-54444-5_110
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54444-9
Online ISBN: 978-3-540-38362-8
eBook Packages: Springer Book Archive