Advertisement

Evaluation transformers — A model for the parallel evaluation of functional languages (extended abstract)

  • Geoffrey L. Burn
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 274)

Abstract

If we are not careful, a parallel machine may become swamped with the computation of the expressions whose values are not needed in order to produce the result from a program. We give a semantic criterion which ensures that this does not happen.

An abstract interpretation can be developed which gives the definedness of a function in terms of the definedness of its arguments. Traditionally this has been used to give a strictness analysis which has been interpreted to say how much the argument in an application can be evaluated in parallel with the application while still satisfying the semantic criterion. Strictness analysis however only takes into account local information.

By taking into account contextual information of an application, we are able to find that in many cases more evaluation of the argument is allowed. This information is available from the same abstract interpretation that is used for strictness analysis. Given how much evaluation is allowed of a function application, an evaluation transformer says how much evaluation of the argument in the application is allowed. This leads to a natural model of the parallel evaluation of functional languages.

Keywords

Functional Languages Parallel Reduction Abstract Interpretation Strictness Analysis Evaluation Transformers 

11. References

  1. [Abramsky 1985a]
    Abramsky, S., Strictness Analysis and Polymorphic Invariance, Workshop on Programs as Data Objects, DIKU, Denmark, 17–19 October, 1985, Ganzinger, H., and Jones, N.D., (eds.) Springer-Verlag LNCS 217, pp. 1–23.Google Scholar
  2. [Abramsky 1985b]
    Abramsky, S., Abstract Interpretation, Logical Relations and Kan Extensions, Draft Manuscript, Imperial College,University of London, October, 1985.Google Scholar
  3. [Bevan et al 1987]
    Bevan, D.I., Burn, G.L., Karia, R.J., and Robson, J.D., Design Principles of a Distributed Memory Architecture for Parallel Graph Reduction, Draft Manuscript, January, 1987.Google Scholar
  4. [Burn 1987a]
    Burn, G.L., Abstract Interpretation and the Parallel Evaluation of Functional Languages, PhD Thesis, Department of Computing, Imperial College of Science and Technology, University of London, 1987.Google Scholar
  5. [Burn 1987b]
    Burn, G.L., Head-strictness and its Determination Using Abstract Interpretation, In Preparation, June 1987.Google Scholar
  6. [Burn, Hankin and Abramsky 1986]
    Burn, G.L., Hankin, C.L., and Abramsky, S., Strictness Analysis for Higher-Order Functions, Science of Computer Programming, 7, November 1986, pp.249–278.Google Scholar
  7. [Clack and Peyton Jones 1986]
    Clack, C., and Peyton Jones, S.L., The Four-Stroke Reduction Engine, Proceedings of the 1986 ACM Conference on Lisp and Functional Programming, Cambridge, Massachusetts, 4–6 August, 1986, pp. 220–232.Google Scholar
  8. [Cousot and Cousot 1979]
    Cousot, P., and Cousot, R., Systematic Design of Program Analysis Frameworks, Conference Record of the 6th ACM Symposium on Principles of Programming Languages, pp. 269–282, 1979.Google Scholar
  9. [Hall and Wise 1987]
    Hall, C.V., and Wise, D.S., Compiling Strictness into Streams, 14th ACM Symposium on Principles of Programming Languages, pp. 132–143, January, 1987.Google Scholar
  10. [Hankin, Burn and Peyton Jones, 1986]
    Hankin, C.L., Burn, G.L., and Peyton Jones, S.L., A Safe Approach to Parallel Combinator Reduction (Extended Abstract), Proceedings ESOP 86 (European Symposium on Programming), Saarbrucken, Federal Republic of Germany, March 1986, Robinet, B., and Wilhelm, R. (eds.), Springer-Verlag LNCS 213, pp. 99–110.Google Scholar
  11. [Hudak and Young 1985]
    Hudak, P., and Young, J., Higher-Order Strictness Analysis in Untyped λ-Calculus, 12th ACM Symposium on Principles of Programming Languages, pp. 97–109, January, 1985.Google Scholar
  12. [Hughes 1985]
    Hughes, J., Strictness Detection in Non-Flat Domains Workshop on Programs as Data Objects, DIKU, Denmark, 17–19 October, 1985, Ganzinger, H., and Jones, N.D., (eds.) Springer-Verlag LNCS 217, pp. 112–135.Google Scholar
  13. [Johnsson 1987]
    Johnsson, T., Compiling Lazy Functional Languages, PhD Thesis, Department of Computer Sciences, Chalmers University of Technology, 1987.Google Scholar
  14. [Karia 1987]
    Karia, R.J., An Investigation of Combinator Reduction on Multiprocessor Architectures, PhD Thesis, University of London, 1987.Google Scholar
  15. [Peyton Jones 1987]
    Peyton Jones, S.L., The Implementation of Functional Programming Languages, Prentice-Hall International Series in Computer Science, 1987.Google Scholar
  16. [Mycroft 1981]
    Mycroft, A., Abstract Interpretation and Optimising Transformations for Applicative Programs, PhD. Thesis, University of Edinburgh, 1981.Google Scholar
  17. [Mycroft and Nielson 1983]
    Mycroft, A., and Nielson, F., Strong Abstract Interpretation Using Power Domains (Extended Abstract) Proc. 10th International Colloquium on Automata, Languages and Programming: Springer Verlag LNCS 154, Diaz, J. (ed.), Barcelona, Spain, 18th–22nd July, 1983, 536–547.Google Scholar
  18. [Scott 1976]
    Scott, D., Data Types as Lattices, SIAM J.Comput. 5 3 (Sept 1976), 522–587.Google Scholar
  19. [Turner 1985]
    Turner, D.A., Miranda: A non-strict functional language with polymorphic types, Functional Programming Languages and Computer Architecture, September 1985, Nancy, Jouannaud, J.-P., (ed.), Springer-Verlag LNCS 201, pp. 1–16.Google Scholar
  20. [Wadler 1987]
    Wadler, P., Strictness Analysis on Non-Flat Domains (by Abstract Interpretation over Finite Domains), in Abramsky, S., and Hankin, C., (eds), Abstract Interpretation of Declarative Languages, Ellis Horwood, 1987. (Originally distributed on the FP mailboard November, 1987.)Google Scholar
  21. [Wadler and Hughes 1987]
    Wadler, P., and Hughes, R.J.M., Projections for Strictness Analysis, In this volume.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Geoffrey L. Burn
    • 1
  1. 1.GEC Research LtdHirst Research CentreWembleyUnited Kingdom

Personalised recommendations