Accumulators: New logic variable abstractions for functional languages

  • Keshav Pingali
  • Kattamuri Ekanadham
Session 11 Logic Prog. And Theorem Proving
Part of the Lecture Notes in Computer Science book series (LNCS, volume 338)


Much attention has been focused by the declarative languages community on combining the functional and logic programming paradigms. In particular, there are many efforts to incorporate logic variables into functional languages. We propose a generalization of logic variables called accumulators which are eminently suited for incorporation into functional languages. We demonstrate the utility of accumulators by presenting examples which show that accumulators can be used profitably in many scientific applications to enhance storage efficiency and parallelism.

CR Classification Numbers

D.1.1 D.3.2 D.3.3 D.3.4 D.1.3 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Arvind, D.E.Culler and K.Ekanadham, The Price of Asynchronous Parallelism: An Analysis of Dataflow Architectures, To appear in: Proceedings of CONPAR 88, at University of Manchester, UK. (September 1988).Google Scholar
  2. [2]
    Arvind, B.Guharoy and R.S.Nikhil, MIT Laboratory for Computer Science, Cambridge, MA (August 1987), private communication Google Scholar
  3. [3]
    Arvind and R.S. Nikhil, Executing a Program On the MIT Tagged-Token Dataflow Architecture, in: Proceedings of the PARLE Conference, Eindhoven, The Netherlands. Springer-verlag LNCS 259 (June 1987).Google Scholar
  4. [4]
    Arvind, R.S.Nikhil and K.K.Pingali, I-structures: Data Structures for Parallel Computing, in: Proceedings of Workshop on Graph Reduction, Santa Fe, NM. Springer-verlag LNCS 279 (September 1986).Google Scholar
  5. [5]
    Bellia, M. and G. Levi, The Relation Between Logic and Functional Languages: A Survey, in: The Journal of Logic Programming, 3:217–236 (1986).Google Scholar
  6. [6]
    DeGroot, D. and G. Lindstrom, Logic Programming: Functions, Relations and Equations, Prentice-Hall, Englewood Cliffs, NJ (1986).Google Scholar
  7. [7]
    Gottlieb, A. et al, The NYU Ultracomputer — designing an MIMD shared memory parallel computer, in: IEEE Transactions on Computers, C-32, 175–189, February 1983.Google Scholar
  8. [8]
    Hudak, P., A Semantic Model of Reference Counting and its Abstraction, in: Proceedings of the 1986 ACM Conference on Lisp and Functional Programming.Google Scholar
  9. [9]
    Kuck,D.J. et al, Dependence Graphs and Compiler Optimizations, in: Proceedings of the 8th ACM Symposium on Principles of Programming Languages, 1981.Google Scholar
  10. [10]
    Lassez, J-L and J.Jaffar, Constraint Logic Programming, in: Proceedings of 14 t h ACM POPL conference, Munich, W.Germany. (January 1987).Google Scholar
  11. [11]
    Lindstrom,G., Functional Programming and the logical Variable, in: Proceedings of the 12th ACM Symposium on Principles of Programming Languages, 1985.Google Scholar
  12. [12]
    Lubeck,O.M., Los Alamos National Laboratory, Los Alamos, CA (August 1987), private communication Google Scholar
  13. [13]
    Martelli, A. and U. Montanari, An efficient unification algorithm, in: ACM Transaction on Programming Languages and Systems, vol 4, No 2:258–282 (1982).Google Scholar
  14. [14]
    Turner, D., private communication Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Keshav Pingali
    • 1
  • Kattamuri Ekanadham
    • 2
  1. 1.Computer Science DepartmentCornell UniversityIthaca
  2. 2.IBM ResearchT.J.Watson Research CenterHawthorne

Personalised recommendations