A functional language and modular architecture for scientific computing
An experimental functionally programmed multiprocessor for high performance computing applications is the subject of an ongoing research project at FPS, with the objective of bringing the benefits of functional programming to the scientific and engineering computing community.
The system architecture is a modular, heterogeneous multiprocessor which supports the parallel evaluation of "Flo," a stream oriented functional language. Streams (infinite sequences) give expressive power to the language and require normal order evaluation techniques. Sub-expressions of a Flo program graph are distributed among several specialized processors on which evaluation proceeds concurrently.
This paper gives an overview of the system and discusses its language, architecture, and operation.
KeywordsType Signature System Framework Program Graph Output Stream Functional Language
Unable to display preview. Download preview PDF.
- John 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, August 1978.Google Scholar
- John Darlington and Mike Reeve, "ALICE — A Multi-Processor Reduction Machine For The Parallel Evaluation of Applicative Languages." ACM Proc. 1981 Conf. on Functional Programming Languages and Computer Architecture, pp. 65–75, 1981.Google Scholar
- Richard B. Kieburtz, "Marigold — A Functional Flow-Graph Language." Oregon Graduate Center Technical Report CS/E-83-005, 1983.Google Scholar
- Robin Milner, "A Theory of Type Polymorphism in Programming." Journal of Computer and System Sciences 17:348–375, 1978.Google Scholar
- Prateek Mishra and Robert M. Keller, "Static inference of properties of applicative programs." ACM Proc. 11th Symposium on Principles of Programming Languages, pp. 235–243, 1983.Google Scholar
- J. A. Robinson, "A Machine-Oriented Logic Based on the Resolution Principle." Journal of the ACM 12(1):23–41, January 1965.Google Scholar
- Kenneth G. Wilson, "Planning for the Future of U.S. Scientific and Engineering Computing." Comm. ACM 27(4):279–280, April 1984.Google Scholar