Abstract
We describe a new approach to higher-order narrowing computations in a class of systems suitable for functional logic programming. Our approach is based on a translation of these systems into ordinary (first-order) rewrite systems and the subsequent application of conventional narrowing strategies. Our translation is an adaptation to narrowing of Warren’s translation, but unlike similar previous work, we preserve static type information, which has a dramatic effect on the size of the narrowing space. Our approach supports sound, complete, and efficient higher-order narrowing computations in classes of systems larger than those previously proposed.
This work has been supported in part by the National Science Foundation under grant CCR-9503383.
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
Antoy, S.: Optimal non-deterministic functional logic computations. In: Hanus, M., Heering, J., Meinke, K. (eds.) ALP 1997 and HOA 1997. LNCS, vol. 1298, pp. 16–30. Springer, Heidelberg (1997)
Antoy, S., Echahed, R., Hanus, M.: Parallel evaluation strategies for functional logic languages. In: Proc. of the 14th Int. Conference on Logic Programming (ICLP 1997), Leuven, Belgium, pp. 138–152. MIT Press, Cambridge (1997)
Bell, J.M., Bellegarde, F., Hook, J.: Type-driven defunctionalization. In: Proc. 2nd International Conference on Functional Programming, pp. 25–37 (June 1997)
M. Hanus (ed.): Curry: An integrated functional logic language. Draft, January 13 (1999)
González-Moreno, J.C.: A correctness proof for Warren’s HO into FO translation. In: Proc. GULP 1993, Gizzeria Lido, IT, pp. 569–585 (October 1993)
Hanus, M., Prehofer, C.: Higher-order narrowing with definitional trees. In: Ganzinger, H. (ed.) RTA 1996. LNCS, vol. 1103, pp. 138–152. Springer, Heidelberg (1996)
Hanus, M.: Polymorphic higher-order programming in prolog. In: Proc. 6th International Conference on Logic Programming, pp. 382–397. MIT Press, Cambridge (1989)
Hanus, M.: A functional and logic language with polymorphic types. In: Miola, A. (ed.) DISCO 1990. LNCS, vol. 429, pp. 215–224. Springer, Heidelberg (1990)
Miller, D.: A logic programming language with lambda-abstraction, function vari- ables, and simple unification. Journal of Logic and Computation 1(4), 497–536 (1991)
Nakahara, K., Middeldorp, A., Ida, T.: A complete narrowing calculus for higher-order functional logic programming. In: Swierstra, S.D. (ed.) PLILP 1995. LNCS, vol. 982, pp. 97–114. Springer, Heidelberg (1995)
Reynolds, J.C.: Definitional interpreters for higher-order programming languages. In: ACM National Conference, pp. 717–740. ACM, New York (1972)
Tolmach, A., Oliva, D.: From ML to Ada: Strongly-typed language interoper-ability via source translation. Journal of Functional Programming 8(4), 367–412 (1998)
Warren, D.H.D.: Higher-order extensions to PROLOG: are they needed? Machine Intelligence 10, 441–454 (1982)
Proc. Workshop on Types in Compilation (TIC 1997), Boston College Computer Science Technical Report BCCS-97-03. (June 1997)
Leroy, X., Ohori, A. (eds.): TIC 1998. LNCS, vol. 1473. Springer, Heidelberg (1998)
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
Antoy, S., Tolmach, A. (1999). Typed Higher-Order Narrowing without Higher-Order Strategies. 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_22
Download citation
DOI: https://doi.org/10.1007/10705424_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66677-6
Online ISBN: 978-3-540-47950-5
eBook Packages: Springer Book Archive