Abstract
We introduce a denotational characterization of narrowing, the computational engine of many functional logic languages. We use a functional domain for giving a denotation to the narrowing space associated to a given initial expression under an arbitrary narrowing strategy. Such a semantic description highlights (and favours) the operational notion of evaluation instead of the more usual model-theoretic notion of interpretation as the basis for the semantic description. The motivation is to obtain an abstract semantics which encodes information about the real operational framework used by a given (narrowing-based) functional logic language. Our aim is to provide a general, suitable, and accurate framework for the analysis of functional logic programs.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abramsky, S.: Abstract Interpretation, Logical Relations and Kan Extensions. Journal of Logic and Computation 1(1), 5–40 (1990)
Abramsky, S.: Domain Theory in Logic Form. Annals of Pure and Applied Logic 51, 1–77 (1991)
Alpuente, M., Falaschi, M., Manzo, F.: Analyses of Unsatisfiability for Equational Logic Programming. Journal of Logic Programming 22(3), 221–252 (1995)
Antoy, S., Echahed, R., Hanus, M.: A needed narrowing strategy. In: Conference Record of the ACM Symposium on Principles of Programming Languages, POPL 1994, pp. 268–279. ACM Press, New York (1994)
de Bakker, J.W.: Least Fixed Points Revisited. Theoretical Computer Science 2, 155–181 (1976)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)
Dybjer, P.: Inverse Image Analysis Generalises Strictness Analysis. Information and Computation 90, 194–216 (1991)
Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Initial Algebra Semantics and Continuous Algebras. Journal of the ACM 24(1), 68–95 (1977)
González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J., Rodríguez-Artalejo, M.: An approach to declarative programming based on a rewriting logic. Journal of Logic Programming 40(1), 47–87 (1999)
Gunter, C.A.: Semantics of Programming Languages. The MIT Press, Cambridge (1992)
Hanus, M.: Towards the Global Optimization of Functional Logic Programs. In: Fritzson, P.A. (ed.) CC 1994. LNCS, vol. 786, pp. 68–82. Springer, Heidelberg (1994)
Hanus, M.: A Unified Computation Model for Functional and Logic Programming. In: Conference Record of the 24th Symposium on Principles of Programming Languages POPL 1997, pp. 80–93. ACM Press, New York (1997)
Hanus, M., Zartmann, F.: Mode Analysis of Functional Logic Programs. In: LeCharlier, B. (ed.) SAS 1994. LNCS, vol. 864, pp. 26–42. Springer, Heidelberg (1994)
Hullot, J.-M.: Canonical forms and unification. In: Karlsson, R., Lingas, A. (eds.) SWAT 1988. LNCS, vol. 318-334, Springer, Heidelberg (1988)
Moreno-Navarro, J.J., Kuchen, H., Mariño, J., Winkler, S., Hans, W.: Efficient Lazy Narrowing using Demandedness Analysis. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 167–183. Springer, Heidelberg (1993)
Moreno-Navarro, J.J., Rodríguez-Artalejo, M.: Logic programming with functions and predicates: the language BABEL. Journal of Logic Programming 12, 191–223 (1992)
Mycroft, A.: The theory and practice of transforming call-by-need into callby- value. In: Robinet, B. (ed.) Programming 1980. LNCS, vol. 83, pp. 269–281. Springer, Heidelberg (1980)
Reddy, U.S.: Narrowing as the Operational Semantics of Functional Languages. In: Proc. of IEEE International Symposium on Logic Programming, pp. 138–151 (1985)
Scott, D.: Domains for Denotational Semantics. In: Nielsen, M., Schmidt, E.M. (eds.) ICALP 1982. LNCS, vol. 140, pp. 577–613. Springer, Heidelberg (1982)
Scott, D.: Lectures on a mathematical theory of computation. Monograph PRG- 19. Computing Laboratory, Oxford University (1981)
Stoltenberg-Hansen, V., Lindström, I., Griffr, E.R.: Mathematical Theory of Domains. Cambridge University Press, Cambridge (1994)
Vickers, S.: Topology via Logic. Cambridge University Press, Cambridge (1989)
Zartmann, F.: Denotational Abstract Interpretation of Functional Logic Programs. In: Van Hentenryck, P. (ed.) SAS 1997. LNCS, vol. 1302, pp. 141–159. Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hanus, M., Lucas, S. (1999). A Semantics for Program Analysis in Narrowing-Based Functional Logic Languages. In: Middeldorp, A., Sato, T. (eds) Functional and Logic Programming. FLOPS 1999. Lecture Notes in Computer Science, vol 1722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10705424_23
Download citation
DOI: https://doi.org/10.1007/10705424_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66677-6
Online ISBN: 978-3-540-47950-5
eBook Packages: Springer Book Archive