Abstract
Recently, there has been a lot of interest in the integration of functional programming and logic programming. A natural framework would be to consider a program as a conditional term rewriting system, with conditional narrowing as the goal-solving mechanism. If EQLOG [14] is one of the earliest proposals in that direction, many others have since then followed the trend, including SLOG [10], K-LEAF [12], ALF [15], BABEL [18] and many others.
This work has been partially supported by ESPRIT project BRA 3020.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
P.G. Bosco, C. Cecchi, and C. Moiso. An extension of WAM for K-LEAF. In Proceedings of the 6th International Conference on Logic Programming, Lisboa, pages 318–333, 1989.
P.G. Bosco, E. Giovannetti, and G. Moiso. Refined strategies for semantic unification. In TAPSOFT’87, LNCS 150, pages 276–290, 1987.
M.M.T. Chakravarty and H.C.R. Lock. The implementation of lazy narrowing. To appear in Proceedings of PLILP’91, LNCS, 1991.
P.H. Cheong. Compiling lazy narrowing into prolog. Technical Report 25, LIENS, 1990. To appear in Journal of New Generation Computing.
P.H. Cheong and L. Fribourg. Efficient integration of simplification into prolog. Technical Report 26, LIENS, 1990. To appear in proceedings of PLILP’91, LNCS.
N. Dershowitz and A. Josephson. An implementation of narrowing, the RITE way. In Proceedings of the IEEE Symposium on Logic Programming, Salt Lake City, pages 187–197, 1986.
N. Dershowitz and D.A. Plaisted. Logic programming cum applicative programming. In Proceedings of the IEEE Symposium on Logic Programming, Boston, pages 54–66, 1985.
R. Echahed. On completeness of narrowing strategies. In Proceedings of CAAP 88, LNCS 299, pages 89–101, 1988.
M. Fay. First-order unification in an equational theory. In Proceedings of the 4th workshop on Automated Deduction, 1979.
L. Fribourg. SLOG: A logic programming language interpreter based on clausal superposition and rewriting. In Proceedings of the IEEE Symposium on Logic Programming, Boston, pages 172–184, 1985.
L. Fribourg. Prolog with simplification. In K. Fuchi and M. Nivat, editors, Programming of future generation computers, pages 161–183. Elsevier Science Publishers B.V. ( North Holland ), 1988.
E. Giovannetti, G. Levi, C. Moiso, and C. Palamidessi. Kernel LEAF: a logic plus functional language. Journal of Computer and System Sciences, 42, pages 139–185, 1991.
E. Giovannetti and C. Moiso. A completeness result for E-unification algorithms based on conditional narrowing. In Foundations of Logic and Functional Programming, LNCS 306, pages 318–334, 1987.
J. Goguen and J. Meseguer. EQLOG: equality, types and generic modules for logic programming. In D. DeGroot and G. Lindstrom, editors, Functional and Logic Programming pages 295–363. Prentice-Hall, 1986.
M. Hanus. Compiling logic programs with equality. In PLILP’90, LNCS 456, pages 387–401, 1990.
S. Hölldobler. From paramodulation to narrowing. In Proceedings of the 5th International Conference on Logic Programming, Seattle, pages 327342, 1988.
J.M. Hullot. Canonical forms and unification. In Proceedings of the 5th Conference on Automated Deduction, LNCS 87, pages 318–334, 1980.
H. Kuchen, R. Loogen, J.J. Moreno, and M. Rodriguez. Graph-based implementation of a functional logic language. In Proceedings of ESOP’90, LNCS 432, pages 271–290, 1990.
R. Loogen. From reduction machines to narrowing machines. In Proceedings of TAPSOFT’91, LNCS 494, pages 438–457, 1991.
Aart. Middletorp. Private communication, 1991.
J.J. Moreno, H. Kuchen, R. Loogen, and M. Rodriguez. Lazy narrowing in a graph machine. In Algebraic and Logic Programming, LNCS 463, pages 298–317, 1990.
A. Mück. The compilation of narrowing. In Proceedings of PLILP’90, LNCS 456, pages 16–29, 1990.
W. Nutt, P. Réty, and G. Smolka. Basic narrowing revisited. Journal of Symbolic Computation, 7, pages 295–317, 1989.
P. Padawitzl. Strategy controlled reduction and narrowing. In Proceedings of RTA’87, Bordeaux, LNCS 256, pages 242–255, 1987.
U.S. Reddy. Narrowing as the operational semantics of functional languages. In Proceedings of the IEEE Symposium on Logic Programming, Boston, pages 138–151, 1985.
M.H. van Emdem and K. Yukawa. Logic programming with equations. Journal of Logic Programming, 4, pages 265–288, 1987.
D.H.D. Warren. An abstract Prolog instruction set. Technical Report 309, SRI International, 1983.
Y.H. You. Enumerating outer narrowing derivations for constructor-based term rewriting systems. Journal of Symbolic Computation, 7, pages 319343, 1989.
Y.H. You. Unification modulo an equality theory for equational logic programming. Journal of Computer and System Sciences, 42, pages 5475, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Cheong, P.H., Fribourg, L. (1992). A survey of the implementations of narrowing. In: Darlington, J., Dietrich, R. (eds) Declarative Programming, Sasbachwalden 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3794-8_12
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3794-8_12
Publisher Name: Springer, London
Print ISBN: 978-3-540-19735-5
Online ISBN: 978-1-4471-3794-8
eBook Packages: Springer Book Archive