Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Aspects of Applicative Programming for Parallel Processing

Published: 01 April 1978 Publication History

Abstract

Early results of a project on compiling stylized recursion into stackless iterative code are reviewed as they apply to a target environment with multiprocessing. Parallelism is possible in executing the compiled image of argument evaluation (collateral argument evaluation of Algol 68), of data structure construction when suspensions are used, and of functional combinations. The last facility provides generally, concise expression for all operations performed in Lisp by mapping functions and in APL by typed operators; there are other uses as well.

References

[1]
J. Backus, "Programming language semantics and closed applicative languages," in Proc. ACM Symp. Principles of Programming Languages, pp. 71-86, 1973.
[2]
P. B. Hansen, "Concurrent programming concepts," Computing Surv., vol. 5, no. 4, pp. 223-245, 1973.
[3]
W. H. Burge, Recursive Programming Techniques. Reading, MA: Addison-Wesley, 1975.
[4]
P. J. Courtois, F. Heymans, and D. L. Parnas, "Concurrent control with 'readers' and 'writers'," Commun. Assoc. Comput. Mach., vol. 14, no. 10, pp. 667-668, 1971.
[5]
D. P. Friedman and D. S. Wise, "Unwinding stylized recursions into iterations," Comput. Sci. Dep., Indiana University, Bloomington, IN, Tech. Rep. 19, 1975.
[6]
D. P. Friedman and D. S. Wise, "Functional combination," Computer Languages, to be published.
[7]
D. P. Friedman and D. S. Wise, "An environment for multiple-valued recursive procedures," in Programmation. Paris, France: Dunod Informatique, 1976.
[8]
D. P. Friedman and D. S. Wise, "CONS should not evaluate its arguments," in Automata, Languages and Programming, S. Michaelson and R. Milner, Eds. Edinburgh, Scotland: Edinburgh Univ. Press, 1976, pp. 257-284.
[9]
D. P. Friedman and D. S. Wise, "Output driven interpretation of recursive programs, or writing creates and destroys data structures," Inform. Processing Lett., vol. 5, no. 6, pp. 155-160, 1976.
[10]
D. P. Friedman and D. S. Wise, "Aspects of applicative programming for file systems," in Proc. ACM Conf. Language Design for Reliable Software, SIGPLAN Notices, vol. 12, pp. 41-55, 1977.
[11]
D. P. Friedman, D. S. Wise, and M. Wand, "Recursive programming through table look-up," in Proc. ACM Symp. Symbolic and Algebraic Computation, pp. 85-89, 1976.
[12]
P. Henderson and J. Morris, Jr., "A lazy evaluator," in Proc. 3rd ACM Symp. Principles of Programming Languages, pp. 95-103, 1976.
[13]
C. E. Hewitt and B. Smith, "Towards a programming apprentice," IEEE Trans. Software Eng., vol. SE-1, pp. 26-45, Jan. 1975.
[14]
C. A. R. Hoare, "Quicksort," Computer J., vol. 5, no. 1, pp. 10-15, 1962.
[15]
C. A. R. Hoare, "Towards a theory of parallel programming," in Operating Systems Techniques, C. A. R. Hoare and R. H. Perrott, Eds. London: Academic Press, 1972, pp. 61-71.
[16]
S. D. Johnson. "An interpretive language based on suspended computation," M.S. Thesis. Dep. Comput. Sci., Indiana Univ., Bloomington, IN, 1977.
[17]
G. Kahn and D. MacQueen, "Coroutines and networks of parallel processes," in Information Processing 77, B. Gilchrist, Ed. Amsterdam, The Netherlands: North-Holland, 1977, pp. 993-998.
[18]
D. E. Knuth, Sorting and Searching. Reading, MA: Addison-Wesley, 1973.
[19]
D. E. Knuth, Fundamental Algorithms (2nd ed.). Reading, MA: Addison-Wesley, 1975.
[20]
P. J. Landin, "A correspondence between ALGOL 60 and Church's lambda notation--Part I," Commun. Assoc. Comput. Mach., vol. 8, no. 2, pp. 89-101, 1965.
[21]
J. McCarthy, P. W. Abrahams, D. J. Edwards, T. P. Hart, and M. I. Levin, LISP 1.5 Programmer's Manual. Cambridge, MA: M.I.T. Press, 1962.
[22]
S. S. Patil, "An abstract parallel-processing system," M.S. Thesis, Dep. Elec. Eng., M.I.T., Cambridge, MA, 1967.
[23]
B. Shneiderman and V. Goodman, "Searching of sequential and tree structured files," ACM Trans. Database Syst., vol. 1, no. 8, 1976.
[24]
G. Tesler and H. J. Enea, "A language design for concurrent processes," in Proc. Spring Joint Comput. Conf. Washington, DC: Thompson, 1968, pp. 403-408.
[25]
J. Vuillemin, "Correct and optimal implementation of recursion in a simple programming language," J. Comput. Sys. Sci., vol. 9, no. 3, pp. 332-354, 1974.
[26]
C. Wadsworth, "Semantics and pragmatics of lambda-calculus," Ph.D. dissertallion, Oxford Univ., Oxford, England, 1971.
[27]
A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck, C. H. A. Koster, M. Sintzoff, C. H. Lindsey, L. G. L. T. Meertens, and R. G. Fisker, "Revised report on the algorithmic language ALGOL 68," Acta Inform., vol. 5, no. 1-3, pp. 1-236, 1975.

Cited By

View all
  • (2023)A Computational Model for Interactive Visualization of High-Performance ComputationsSupercomputing10.1007/978-3-031-49435-2_9(118-133)Online publication date: 25-Sep-2023
  • (2019)Proactive work stealing for futuresProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295735(257-271)Online publication date: 16-Feb-2019
  • (2019)Efficient race detection with futuresProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295732(340-354)Online publication date: 16-Feb-2019
  • Show More Cited By
  1. Aspects of Applicative Programming for Parallel Processing

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Computers
    IEEE Transactions on Computers  Volume 27, Issue 4
    April 1978
    99 pages

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 01 April 1978

    Author Tags

    1. Compiling
    2. Lisp
    3. functional combinations
    4. multiprocessing
    5. recursion
    6. suspensions

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 25 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)A Computational Model for Interactive Visualization of High-Performance ComputationsSupercomputing10.1007/978-3-031-49435-2_9(118-133)Online publication date: 25-Sep-2023
    • (2019)Proactive work stealing for futuresProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295735(257-271)Online publication date: 16-Feb-2019
    • (2019)Efficient race detection with futuresProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295732(340-354)Online publication date: 16-Feb-2019
    • (2018)Race detection and reachability in nearly series-parallel DAGsProceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms10.5555/3174304.3175277(156-171)Online publication date: 7-Jan-2018
    • (2016)Extending the Nested Parallel Model to the Nested Dataflow Model with Provably Efficient SchedulersProceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/2935764.2935797(49-60)Online publication date: 11-Jul-2016
    • (2015)On-the-Fly Pipeline ParallelismACM Transactions on Parallel Computing10.1145/28098082:3(1-42)Online publication date: 8-Sep-2015
    • (2013)On-the-fly pipeline parallelismProceedings of the twenty-fifth annual ACM symposium on Parallelism in algorithms and architectures10.1145/2486159.2486174(140-151)Online publication date: 23-Jul-2013
    • (2011)The F# asynchronous programming modelProceedings of the 13th international conference on Practical aspects of declarative languages10.5555/1946313.1946334(175-189)Online publication date: 24-Jan-2011
    • (1997)Pipelining with futuresProceedings of the ninth annual ACM symposium on Parallel algorithms and architectures10.1145/258492.258517(249-259)Online publication date: 1-Jun-1997
    • (1995)“Use-once” variables and linear objectsACM SIGPLAN Notices10.1145/199818.19986030:1(45-52)Online publication date: 3-Jan-1995
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media