Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/114054.114064acmconferencesArticle/Chapter ViewAbstractPublication PagesaplConference Proceedingsconference-collections
Article
Free access

Compiling APL for parallel and vector execution

Published: 01 July 1991 Publication History

Abstract

The inherent parallelism of applicative languages such as APL and functional languages such as FP present a little-exploited and somewhat unorthodox means of parallel programming. Here we summarize our investigation of a new approach to compiling such programs for execution on various types of parallel hardware. Our method centers around an intermediate form that is an extension of the lambda calculus. We present evidence that APL programs are easily translated into this intermediate form, and that this intermediate representation lends itself readily to code generation for a variety of parallel hardware.

References

[1]
J. Backus. Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Communications of the ACM, 21(8):613-641, (Aug. 1978).
[2]
W. Ching. Program Analysis and Code Generation in an APL/370 Compiler. IBM Journal of Research and Development, 30(6):594-602, (Nov. 1986).
[3]
A. J. Perlis and S. Rugaber. Programming with Idioms in APL. APL Quote Quad, 9(4):232-235, (June 1979).
[4]
H. P. Barendregt. The Lambda Calculus. North- Holland, (1984).
[5]
S. L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, (1987).
[6]
A. Diller. Compiling Functional Languages. John Wiley & Sons, (1988).
[7]
D. S. Friedman and D. S. Wise. CONS should not evaluate its arguments. In S. Michaelson and R. Milner, editors, Automata, Languages, and Programming: Third Iniernatzonal Colloquium, pages 257-284. (1976).
[8]
P. Henderson and J. H. Morris Jr. A Lazy Evaluator. In Conference Record of the Third Annual A CM Symposium of Principles of Programming Languages, pages 95-103, Atlanta, Georgia, (1976).
[9]
T. A. Budd. A New Approach to Vector Code Generation for Applicative Languages. Technical Report 88-60-18, Oregon State University, Computer Science Department, (1988).
[10]
T. A. Budd. A Parallel Intermediate Representation based on Lambda Expressions. Technical Report 89-60-18, Oregon State University, Computer Science Department, (1989).
[11]
T. A. Budd. Composition and Compilation in Functional Programming Languages. Technical Report 88-60-14, Oregon State University, Computer Science Department, (1988).
[12]
W. D. Hillis and G. L. Steele. Data Parallel Algorithms. Communicatzons of the A CM, 29(1.2):1170- 1183, (Dec. 1986).
[13]
A. Osterhaug. Guide to Parallel Programming on Sequent Computer Systems. Prentice-Hall, (1989).
[14]
E. W. Dijkstra. The Humble Programmer. Communicatzons of the A CM, 15(10):859-866, (Oct. 1972).

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
APL '91: Proceedings of the international conference on APL '91
July 1991
396 pages
ISBN:0897914414
DOI:10.1145/114054

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 1991

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

APL91
Sponsor:
APL91: International Conference on APL
August 4 - 8, 1991
California, Palo Alto, USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)11
Reflects downloads up to 28 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media