Abstract
Thus, it turns out that the control information implicitly contained in each functional program with constructors can still be exploited after compilation under a Prolog form, by means of:
-
(1)
modification of the (leftmost atom) selection strategy used in Prolog SLD-resolution,
-
(2)
addition of the rule of atom elimination.
For both innermost and lazy strategies, it leads to an implementation equivalent as regards to the computation process, but much more efficient than a direct implementation of narrowing at the functional level.
This title is inspired from D.H.D. Warren's paper: "Higher-order extensions to PROLOG: are they needed?" in Logic Programming, K.L. Clark and S.-A. Tarnlund, eds., Academic Press, 1982, pp. 441–454.
This work has been partially supported by Laboratoires de Marcoussis and ESPRIT project 432.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Barbuti, R., Bellia, M., Levi, G., Martelli, M., "LEAF: A Language which Integrates Logic, Equations and Functions", in Logic Programming: Functions, Relations and Equations, D. DeGroot and G. Linstrom, eds., Prentice-Hall, 1986, pp. 201–238.
Bellia, M., Levi G., "The Relation between Logic and Functional Languages: A Survey", J. Logic Programming 3:3, Oct. 1986, pp. 217–236.
Bosco, P.G., Giovannetti, E., Moiso, C., "Refined Strategies for Semantic Unification", Proc. TAPSOFT, LNCS 250, Springer-Verlag, 1987, pp. 89–95.
Bosco, P.G., Giovannetti, E., Levi, G., Moiso, C., Palamidessi, C., "A Complete Characterization of K-LEAF, a Logic Language with Partial Functions", Proc. Intl. Symp. on Logic Programming, 1987, pp. 89–95.
Cheong, P.H., "Techniques de mise en oeuvre de langages logico-fonctionnels", D.E.A. Report, Laboratoire d'Informatique de l'Ecole Normale Superieure, Paris, 1988.
Colmerauer, A., "Metamorphosis Grammars", in Natural Language Communication with Computers, LNCS 63, Springer-Verlag, New York, 1978, pp. 133–189.
Deransart, P., "An Operational Algebraic Semantics of PROLOG Programs" Proc. Programmation en Logique, Perros-Guirrec, CNET-Lannion, Mar. 1983.
Dershowitz, N., Plaisted, D., "Logic Programming cum Applicative Programming", Proc. IEEE Intl. Symp. on Logic Programming, Boston, MA, 1985, pp. 54–66.
Fay, M., "First-order unification in an equational theory", Proc. Fourth Workshop on Automated Deduction, Austin, TX, 1979, pp. 161–167.
Fribourg, L., "A Narrowing Procedure for Theories with Constructors", Proc. Intl. Conf. on Automated Deduction, LNCS 170, 1984, pp. 259–301.
Fribourg, L., "SLOG: a Logic Programming Language Interpreter Based on Clausal Superposition and Rewriting", Proc. IEEE Intl. Symp. on Logic Programming, Boston, MA, 1985, pp. 172–184.
Fribourg, L., "PROLOG with Simplification", 1st France-Japan Symp. on Artifical Intelligence and Computer Science, Fuchi and Nivat, eds., Elsevier Science Publishers B.V. (North-Holland), 1988, pp. 161–183.
Giovanetti, E., Moiso, C., "A Completeness Result for E-unification Algorithms Based on Conditional Narrowing", Fundations of Logic and Functional Programming, LNCS 306, Springer-Verlag, 1988, pp.157–167.
Goguen, J.A., Meseguer, J., "Equality, Types, Modules and (why not?) Generics for Logic Programming", J. Logic Programming, Vol. 1, NO 2, 1984, pp. 179–210.
Hansson, A., Haridi, S., Tarnlund, S.-A., "Properties of a Logic Programming Language", in Logic Programming, K. Clark and S.-A. Tarnlund, eds., Academic Press, 1982, pp. 267–280.
Heilbrunner, S., Holldobler, S., "The Undecidability of the Unification and Matching Problem for Canonical Theories", Acta Informatica, Vol. 24, No. 2, 1987, pp. 157–171.
Hullot, J.M., "Canonical Forms and Unification", Proc. Fifth Conf. on Automated Deduction, Les Arcs, France, 1980, pp. 318–334.
Hussmann H., "Unification in Conditional-Equational Theories", Proc. EUROCAL 85 Conf., Linz, 1985.
Jaffar, J., Lassez, J.L., Maher, M.J., "A Theory of Complete Logic Programs with Equality", J. Logic Programming, Vol. 1, No. 3, 1984, pp. 211–223.
Kaplan, K., "Fair Conditional Term Rewriting Systems: Unification, Termination and Confluency", Technical Report, Laboratoires de Recherche en Informatique, U. Paris-Sud, Orsay, France, 1984.
Kowalski, R., "Logic Programming", Information Processing, R.E.A. Mason, ed., Elsevier Science Publishers B.V. (North-Holland), 1983, pp. 133–145.
Nutt, W., Rety, P., Smolka, G., "Basic Narrowing Revisited", Technical Report SR-87-07, U. Kaiserslautern, 1987.
Pereira, F.C.N., Warren, H.D., "Definite Clause Grammars for Language Analysis: a Survey of the Formalism and a Comparison with the Augmented Transition Networks", Artificial Intelligence 13, 1980, pp. 231–278.
Plotkin, G.D., "Building-in Equational Theories", in Machine Intelligence, Vol. 7, B. Meltzer and D. Michie (eds.), Halsted, Wiley, NY, 1972, pp. 73–90.
Reddy, U.S., "Narrowing as the Operational Semantics of Functional Languages, Proc. IEEE Intl. Symp. on Logic Programming, Boston, MA, 1985, pp. 138–151.
Robinson, J.A., "A Machine-Oriented Logic Based on the Resolution Principle", J. Association for Computing Machinery, Vol. 20, 1965, pp. 23–41.
Slagle, J.R., "Automated Theorem-Proving for Theories with Simplifiers, Commutativity, and Associativity", J. Association for Computing Machinery, Vol. 21, No 4, 1974, pp. 622–642.
Subrahmanyam, P.A., You, J.H., "Conceptual Basis and Evaluation Strategies for Integrating Functional and Logic Programming", Proc. IEEE Intl. Symp. on Logic Programming, Atlantic City, NJ, 1984, pp. 144–153.
Tamaki, H., "Semantics of a Logic Programming Language with a Reducibility Predicate", Proc. IEEE Symposium on Logic Programming, Atlantic City, Feb. 1984, pp. 259–264.
Togashi, A., Noguchi, S., "A Program Transformation from Equational Programs into Logic Programs", J. Logic Programming 4, 1987, pp. 85–103.
Van Emden, M.H., Yukawa, K., "Logic Programming with Equations", J. Logic Programming 4, 1987, pp. 265–288.
You, J.-H., Subrahmanyam, P.A., "E-Unification Algorithms for a Class of Confluent Term Rewriting Systems", Intl. Colloquium on Automata, Languages and Programming Languages, LNCS 226, Springer-Verlag, 1986, pp. 454–463.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Akademie-Verlag Berlin
About this paper
Cite this paper
Fribourg, L. (1988). Functional extensions to prolog: Are they needed?. In: Grabowski, J., Lescanne, P., Wechler, W. (eds) Algebraic and Logic Programming. ALP 1988. Lecture Notes in Computer Science, vol 343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50667-5_54
Download citation
DOI: https://doi.org/10.1007/3-540-50667-5_54
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50667-6
Online ISBN: 978-3-540-46063-3
eBook Packages: Springer Book Archive