Abstract
We discuss the choice of programming primitives for set oriented programming languages such as SETL. For this purpose we introduce a mathematical model (hereditarily finite sets with urelements). In this model criteria for the choice of programming primitives are defined. The criteria are complexity, independence and computational completeness of the basic constructs. We propose primitives satisfying our criteria and also discuss briefly the possibility of defining abstract data types within our mathematical model. We give a characterization of the data types whose objects are recognizable in NP. Our work is a synthesis of several approaches previously introduced in other frameworks, such as query languages, generalized recursion theory and high level programing language design.
During the work on this paper visiting (Spring 1985) at the Department of Computer Science, Technion, Haifa, Israel, sponsored by Minerva Foundation.
During work on this paper visiting at the Institut fuer Informatik (Winter 1984/85) and the Forschungsinstitut fuer Mathematik (Summer 1985), ETH-Zuerich, Switzerland.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
7. References
J.K. Barwise, Admissible sets and structures, Springer, Berlin 1975.
A.K. Chandra and D. Harel, Computable queries for relational data bases, JCSS vol. 21.2 (1980) pp. 156–178.
A.K. Chandra and D. Harel, Structure and complexity of relational queries, JCSS vol. 25, (1982) pp. 99–128.
E. Dahlhaus and J.A. Makowsky, Computable Directory Queries, Technical report of the Institut fuer Informatik, ETH-Zuerich, No. 65 (September 1985), extended abstract to appear in the Proceedings of CAAP '86, LNCS, Springer, Berlin 1986.
R. Fagin, Generalized first order spectra and polynomial-time recognizable sets, in: Complexity of Computation, R.Karp ed., SIAM-AMS Proceedings no. 7 (1974) p.27–41.
J.E. Fenstad, General Recursion Theory, Springer, Heidelberg 1980.
R. Gandy, Church's Thesis and principles for mechanisms, in: The Kleene Symposium, J.Barwise et al. eds., Amsterdam 1980, pp.123–148.
E. Horowitz, Fundamentals of programming languages, Computer Science Press, Rockville 1983.
D. Harel and D. Peleg, On static logics, dynamic logics and complexity classes, Information and Control vol. 60, (1984), p. 86–102.
N. Immerman, Relational queries computable in polynomial time, 14th ACM Symposium on Theory of Computing, (1982) p. 147–152.
N. Immerman, Languages which capture complexity classes, 15th ACM Symposium on Theory of Computing, (1983) p. 347–354.
A, Levy, A hierarchy of formulas in set theory, Memoirs of the American Mathematical Society 57, Providence 1965.
Y.N. Moschovakis, Elementary induction on abstract structures, North Holland, Amsterdam 1974.
Y.N. Moschovakis, Descriptive set theory, North Holland, Amsterdam 1980.
Y.N. Moschovakis, Abstract recursion as a foundation for the theory of algorithms, in: Computation and Proof Theory, M.M. Richter et al. eds. LNM vol. 1104, Springer, Berlin-Heidelberg 1984, p. 289–362.
D. Normann, Set recursion, in: Generalized recursion theory II, J.E. Fenstad et al. eds., North Holland, Amsterdam 1978, p. 303–320.
E. Schonberg, J.T. Schwartz and M. Sharir, Automatic data structure selection in SETL, 6. Annual ACM Symposium on Principles of Programming Languages (1979) pp.197–210.
J.T. Schwartz, On programming: An interim report on the SETL project, 2nd ed., Courant Institute of Mathematical Sciences, New York 1975.
J.C. Shepherdson, Computations over abstract structures, in: Logic Colloquium '73, H.E. Rose at al. eds., North Holland, Amsterdam 1973, p.445–513.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dahlhaus, E., Makowsky, J.A. (1986). The choice of programming primitives for SETL-like programming languages. In: Robinet, B., Wilhelm, R. (eds) ESOP 86. ESOP 1986. Lecture Notes in Computer Science, vol 213. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16442-1_12
Download citation
DOI: https://doi.org/10.1007/3-540-16442-1_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-16442-5
Online ISBN: 978-3-540-39782-3
eBook Packages: Springer Book Archive