Abstract
A new methodology for writing efficient programs is proposed through various examples. The basic ideas are:i) the use of the appli cative stile of programming, so that correctness of programs can easily be proved, and ii) the improvement of program efficiency by the evaluation of functions applications using concurrent computing agents.
For increasing efficiency, communications among those agents are necessary, so that redundant evaluations of common subexpressions can be avoided.
In this paper we also introduce some preliminary ideas for a theory of such communications. We call them "helpful communications". They include "compulsory" communications, which effect program correctness, and "optional" communications, which do not effect program correctness, but only program efficiency.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
7. References
Burstall, R.M. and J. Darlington: A Transformation System for Rove l oping Recursive Programs, J.A.C.M. Vol. 24, No. 1, Jan 77 pp. 44–67.
Burstall,R.M., D.B. MacQueen and D.T. Sannella: HOPE: An Experime n tal Applicative Language, CSR-62-80 Computer Science Edinburgh University (1980).
Henderson,P. and J.H. Morris, Jr.: A Lazy Evaluator, Proc. of POPL Conference Sigplan-Sigact Atlanta (1976) pp. 95–103.
Hewitt, C. and H. Baker, Jr.: Actors and Continuous Functionals, Neuhold, E.J. (Ed.), Formal Descriptions of Programming Languages, Noth Holland, Amsterdam (1978).
Hoare, C.A.R.: Communicating Sequential Processes, Comm. A.C.M. 21, 8 (Aug. 1978) pp. 666–677.
Kahn, G. and D.B. MacQueen: Coroutines and Networks of Parallel Processes, in: Gilchrist, B. (Ed.), Information Processing 77, North Holland, Amsterdam (1977) pp. 993–998.
Milne, G. and R. Milner: Concurrent Processes and Their Syntax, J.A.C.M. Vol. 26 pp. 302–321.
Milner,R.: A Calculus for Communicating Systems, LNCS 92 Springer Verlag (1980).
Pettorossi,A. and R. Burstall: Deriving Very Efficient Algorithms For Evaluating Linear Recurrence Relations Using Program Transformation Technique, (submitted for publication) (1980).
Pettorossi,A.: Transformation of Programs and Use of Tupling Strat e gy, Informatica 77. Congress, Bled (Yugoslavia) (1977).
Pettorossi,A.: Organizing parallelism and communications for efficient distributed computations, AICA Congress Bologna (1980).
Schwarz,J.: Using Annotations to Make Recursive Equations Behave, D.A.I. Research Report No. 43, Edinburgh University (Sept. 1977).
Strachey,C. and C.P. Wadsworth: Continuations: A Mathematical Semantics for Handling Full Jumps, Tech. Monograph PRG-11, Oxford University Computing Laboratory, Oxford (Jan 1974).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1983 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pettorossi, A. (1983). Towards a theory of parallelism and communications for increasing efficiency in applicative languages. In: Salwicki, A. (eds) Logics of Programs and Their Applications. Logic of Programs 1980. Lecture Notes in Computer Science, vol 148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11981-7_16
Download citation
DOI: https://doi.org/10.1007/3-540-11981-7_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-11981-4
Online ISBN: 978-3-540-39445-7
eBook Packages: Springer Book Archive