ABSTRACT
SETL is a very high level programming language supporting set theoretical syntax and semantics. It allows algorithms to be programmed rapidly and succinctly without requiring data structure declarations to be supplied, though such declarations can be manually specified later, without recoding the program, to improve the efficiency of program execution. We describe a new technique for automatic selection of appropriate data representations during compile-time for undeclared, or partially declared programs,and present an efficient data structure selection algorithm, whose complexity is comparable with those of the fastest known general data-flow algorithms of Tarjan [TA2] and Reif [RE].
- {AL} Allen, F. E., "Control flow analysis," Proc. Symp. Compiler Optimization, SIGPLAN Notices 5 (1970), 1-19. Google ScholarDigital Library
- {DE} Dewar, R. B. K., Grand, A., Liu, S. C., Schonberg, E. and Schwartz, J. T., "Programming by refinement, as exemplified by the SETL representation sublanguage," to appear in CACM. Google ScholarDigital Library
- {GS} Grand, A. and Sharir, M., "On name splitting in SETL optimization," SETL Newsletter 206, Courant Inst. Math. Sci., New York, 1978.Google Scholar
- {HA} Halstead, M. H., "Elements of software science," Elsevier North-Holland, New York, 1977. Google ScholarDigital Library
- {LI} Liu, S. C., "Automatic data-structure choice in SETL," Ph.D. thesis, Courant Inst. Math. Sci., New York, 1978 (to appear). Google ScholarDigital Library
- {LO} Low, J. R., "Automatic data-structure selection: an example and overview," CACM 21 (1978), 376-384. Google ScholarDigital Library
- {RE} Reif, J. H., Ph.D. Thesis, Harvard University, (to appear).Google Scholar
- {SL} Schonberg, E. and Liu, S. C., "Manual and automatic data-structuring in SETL," Proc. 5th Annual III Conference, Guidel, France, 1977, 284-304.Google Scholar
- {SC} Schwartz, J. T., "Automatic data-structure choice in a language of very high level," Proc. 2nd POPL Conference, Palo Alto, Calif., 1975, 36-40. Google ScholarDigital Library
- {SC2} Schwartz, J. T., "Use-use chaining as a technique in typefinding," SETL Newsletter 140, Courant Inst. Math. Sci., New York, 1974.Google Scholar
- {SC3} Schwartz, J. T., "On Programming: an interim report on the SETL project," 2nd edition, Courant Inst. Math. Sci., New York, 1975.Google Scholar
- {TA} Tarjan, R. E., "Efficiency of a good but not linear set-union algorithm," JACM 22 (1975), 215-225. Google ScholarDigital Library
- {TA2} Tarjan, R. E., "Solving path problems on directed graphs," STAN-CS-75-512 Tech. Rep., Stanford University, Calif., 1975. Google ScholarDigital Library
- {TE} Tenenbaum, A. M., "Type determination for very high level languages," Computer Sci. Rep. 3, Courant Inst. Math. Sci., New York, 1974.Google Scholar
Recommendations
Programming by Refinement, as Exemplified by the SETL Representation Sublanguage
“Pure” SETL is a language of very high level allowing algorithms to be programmed rapidly and succintly. SETL's representation sublanguage adds a system of declarations which allow the user of the language to control the data structures that will be ...
Setl
Encyclopedia of Computer ScienceVery high-level languages are programming languages, such as functional and logic languages, in which algorithms can be expressed without getting into details of control and data structuring. SETL (SET Language) is a very high-level language designed ...
Automatic and semiautomatic optimization of SETL
Proceedings of the ACM SIGPLAN symposium on Very high level languagesThe compilation of SETL, a programming language of high level based upon the dictions and semantic concepts of the mathematical theory of sets, raises optimization problems connected with the copying, representation, type-checking and indexing of ...
Comments