Abstract
It is proposed to add bounded quantifications to Prolog. The main reason is one of natural expression, many algorithms are expressed more elegantly in a declarative way using bounded quantifications than using existing means, i.e., recursion. In particular this is true for numerical algorithms, an area where Prolog has been virtually unsuccessful so far. Moreover, bounded quantification has been found to be at least as efficient as recursion, when applicable. We outline an implementation of bounded quantification through an extension of Warren's abstract Prolog machine and give performance figures relative to recursion. Finally, we have shown elsewhere that bounded quantification has a high potential for parallel implementation. One can often run the same program on a sequential computer and on several kinds of parallel computers.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Anderson, S. and Hudak, P., Compilation of Haskell Array Comprehensions for Scientific Computing, in: Proc. SIGPLAN '90 Conf. on Programming Language Design and Implementation, ACM Press, New York, N.Y., 1990.
Arro, H., Barklund, J. and Bevemyr, J., Parallel Bounded Quantifications— Preliminary Results, UPMAIL Tech. Rep. 74, Comp. Sci. Dept., Uppsala Univ., Uppsala, 1993, to appear in SIGPLAN Notices.
Barklund, J. and Bevemyr, J., Executing Bounded Quantifications on Shared Memory Multiprocessors, submitted to PLILP'93, 1993.
Barklund, J. and Bevemyr, J., Prolog with Arrays and Bounded Quantifications, UPMAIL Tech. Rep. 77, Comp. Sci. Dept., Uppsala Univ., Uppsala, 1993.
Barklund, J. and Millroth, H., Integrating Complex Data Structures in Prolog, in: S. Haridi (ed.), Proc. 1987 Symp. on Logic Programming, Comp. Soc. Press of the IEEE, Washington, D.C., 1987.
Barklund, J. and Millroth, H., Providing Concurrency and Iteration in Logic Programming through Bounded Quantifications, in: H. Tanaka (ed.), Proc. Intl. Conf. on Fifth Generation Computer Systems 1992, Ohmsha, Tokyo, 1992.
Bevemyr, J., The Luther WAM Emulator, UPMAIL Tech. Rep. 72, Comp. Sci. Dept., Uppsala Univ., Uppsala, 1992.
Dovier, A., Omodeo, E. G., Pontelli, E. and Rossi, G., log: a Logic Programming Language with Finite Sets, in: K. Furukawa (ed.), Proc. Intl. Conf. on Logic Programming 1991, MIT Press, Cambridge, Mass., 1991.
Eriksson, L.-H. and Rayner, M., Incorporating Mutable Arrays into Logic Programming, in: S.-Å. Tärnlund (ed.), Proc. 2nd Intl. Logic Programming Conf., Uppsala University, 1984.
Gries, D., The Science of Programming, Springer-Verlag, New York., 1981.
Hill, P. M. and Lloyd, J. W., The Gödel Report, Technical Report 91-02, Comp. Sci. Dept., Univ. of Bristol, Bristol, 1991.
Lloyd, J. W. and Topor, R. W., Making Prolog more Expressive, J. Logic Programming, 1:225–240 (1984).
Meier, M., Recursion vs. Iteration in Prolog, in: K. Furukawa (ed.), Logic Programming—Proc. Eighth Intl. Conf., MIT Press, Cambridge, Mass., 1991.
Metcalf, M. and Reid, J., Fortran 90 Explained, Oxford Univ. Press, Oxford, 1990.
Millroth, H., Reforming Compilation of Logic Programs, Ph.D. Thesis, Comp. Sci. Dept., Uppsala Univ., Uppsala, 1990.
Sato, T. and Tamaki, H., First Order Compiler: a Deterministic Logic Program Synthesis Algorithm, J. Symbolic Computation, 8:605–627 (1989).
Schwartz, J. T., Devar, R. B. K., Dubinski, E. and Schonberg, E., Programming with Sets: an Introduction to SETL, Springer-Verlag, Berlin, 1986.
Tennent, R. D., Quantification in Algol-like Languages, Information Processing Letters, 25:133–137 (1987).
Tennent, R. D., Semantics of Programming Languages, Prentice-Hall International, Hemel Hempstead, 1991.
Voronkov, A., Logic Programming with Bounded Quantifiers, in: A. Voronkov (ed.), Logic Programming—Proc. Second Russian Conf. on Logic Programming, LNCS 592, Springer-Verlag, Berlin, 1992.
Voronkov, A. A., Logic Programming with Bounded Quantifiers, Technical Report ECRC-92-29, ECRC, Munich, 1992.
Warren, D. H. D., An Abstract Prolog Instruction Set, SRI Tech. Note 309, SRI Intl., Menlo Park, Calif., 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barklund, J., Bevemyr, J. (1993). Prolog with arrays and bounded quantifications. In: Voronkov, A. (eds) Logic Programming and Automated Reasoning. LPAR 1993. Lecture Notes in Computer Science, vol 698. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56944-8_39
Download citation
DOI: https://doi.org/10.1007/3-540-56944-8_39
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56944-2
Online ISBN: 978-3-540-47830-0
eBook Packages: Springer Book Archive