The Relationship Between Language Paradigm and Parallelism: The EQ Prototyping Language
Both the imperative (Fortran , APL , Matlab , etc.) and functional (Sisal , Id , EPL , etc.) language paradigms have attractive features. Imperative languages are able to easily express changing quantities, something which functional languages find more difficult. However, the side-effects of imperative languages makes parallelization more difficult than in functional languages. The EQ language is an attempt to blend these two paradigms, in order to try and achieve the advantages of both. While designed for sequential execution, it turns out that EQ makes the parallelism in a program explicit to the user, without introducing special “parallel” constructs. We feel this property makes EQ a good target for further parallel language research.
KeywordsSequential Execution Functional Language Imperative Language Implicit Parallelism Language Paradigm
Unable to display preview. Download preview PDF.
- ANSI. American National Standard Programming Language Fortran ANSI X3.9–1978.Google Scholar
- A. P. W. Bohm, R. R. Oldehoeft, D. C. Cann, and J. T. Feo. Sisal Reference Manual, Version 2.0.Google Scholar
- Thomas Derby, Robert Schnabel, and Benjamin Zorn. Design Ideas for Prototyping Scientific Computations: the EQ Language. Technical Report, University of Colorado at Boulder, Dept. of Computer Science.Google Scholar
- Math Works Inc. MATLAB User’s Guide, 1992.Google Scholar
- Rishiyur S. Nikhil. Id language reference manual, version90.1. Postscript available via FTP from Massachusetts Institute of Technology, July 1991.Google Scholar
- Boleslaw K. Szymanski. “EPL - parallel programming with recurrent equations”. In Boleslaw K. Szymanski, editor, Parallel Functional Languages and Compilers, chapter 3, pages 51–104. ACM Press, New York, New York, 1991.Google Scholar