A parallel implementation of rewriting and narrowing
A parallel implementation of rewriting and narrowing is described. This implementation is written in Flat Concurrent Prolog, but the ideas involved are applicable to any system where processes are capable of creating other processes and communicating with each other. Using FCP enables one to write very short programs, virtually no longer than the verbal description of the algorithms. Running programs under the FCP interpreter and using facilities provided by it, one can compare the efficiencies of various strategies. Theoretical results about the efficiency of strategies in certain cases are also mentioned.
Unable to display preview. Download preview PDF.
- [DerPl 88]Dershowitz, N. and Plaisted, D.A., Equational Programming, Machine Intelligence 11, eds J.E. Hayes, D. Michie, and J. Richards, pp. 21–56, 1988.Google Scholar
- [FlaOd 82]Flajolet, P. and Odlyzko, A., The Average Height of Binary Trees and Other Simple Trees, Journal of Computer and System Sciences 25, pp. 171–213, 1982.Google Scholar
- [GoKiMe 87]Goguen, J., Kirchner C., and Meseguer, J., Concurrent Term Rewriting as a Model of Computation, SRI-CSL-87-2, 1987.Google Scholar
- [Hul 80]Hullot, J.-M., Canonical Forms and Unification, 5th Conference on Automated Deduction, Lecture Notes in Computer Science 87, 1980.Google Scholar
- [JoDer 89]Josephson, A. and Dershowitz, N., An Implementation of Narrowing, to appear in the Journal of Logic Programming, 1989.Google Scholar
- [Rety 87]Réty, P., Improving basic narrowing techniques and commutation properties, Rapports de Recherche No. 681, INRIA, 1987.Google Scholar
- [Shap 86]Shapiro, E., Concurrent Prolog: A progress report, IEEE Computer, August 1986.Google Scholar
- [Shap 87]Shapiro, E., Or-Parallel Prolog in Flat Concurrent Prolog, Concurrent Prolog Collected Papers, ed. E. Shapiro, Vol. 2, pp. 415–441, 1987.Google Scholar
- [Logix 87]Silverman, W., Hirsch, M., Houri A., and Shapiro, E., The Logix System User Manual Version 1.22, Weizmann Institute Technical Report CS87-21, 1987.Google Scholar