Advertisement

Binding time analysis for polymorphically typed higher order languages

  • Torben Æ. Mogensen
Communications
Part of the Lecture Notes in Computer Science book series (LNCS, volume 352)

Abstract

Binding time analysis is used to distinguish the variables in a program that will have a known value at a time when only some of the parameters to the program are given. This is used in partial evaluation and has been found to be essential for efficient self-application and thus compiler generation by self-application of a partial evaluator with respect to an interpreter.

Until recently, works in binding time analysis have used first order untyped languages, but the last year have seen a few papers treating typed lambda-calculus and a paper that argues that projections (domain retracts) could be used to describe binding times in a first order typed functional language.

This paper extends the latter to higher order polymorphically typed functional languages and addresses some practical aspects of implementing the analysis.

Keywords

binding time analysis compiler generation functional languages partial evaluation projections semantics 

References

  1. [Bondorf,Jones,Mogensen,Sestoft 88]
    A.Bondorf, N.D.Jones, T.Æ.Mogensen, P.Sestoft, Self-Application as a Tool for the Generation of Program Generators submitted for publicationGoogle Scholar
  2. [Jones 88]
    N.D.Jones, Automatic Program Specialization: a Re-examination from Basic Principles in the Proceedings of the Workshop on Partial Evaluation and Mixed Computation, Denmark, October 1987, eds. D.Bjørner, A.P.Ershov and N.D.Jones, North-Holland 1988Google Scholar
  3. [Jones,Mycroft 86]
    N.D.Jones, A.Mycroft, Data Flow Analysis of Applicative Programs Using Minimal Function Graphs in the Proceedings of the Workshop on Programs as Data Objects, Copenhagen, October 1985, Springer Verlag LNCS 217, 1986Google Scholar
  4. [Jones,Sestoft,Søndergaard 85]
    N.D.Jones, P.Sestoft, H.Søndergaard, An Experiment in Partial Evaluation: the Generation of a Compiler Generator in Rewriting Techniques and Applications (ed. J.-P. Jouannaud), Dijon, France 1985, Springer Verlag LNCS 202, 1985Google Scholar
  5. [Jones,Sestoft,Søndergaard 88]
    N.D.Jones, P.Sestoft, H.Søndergaard, Mix: a Self-Applicable Partial Evaluator for Experiments in Compiler Generation in LISP and Symbolic Computation 1 3/4, 1988Google Scholar
  6. [Launchbury 88]
    J.Launchbury, Projections for Specialisation in the Proceedings of the Workshop on Partial Evaluation and Mixed Computation, Denmark, October 1987, eds. D.Bjørner, A.P.Ershov and N.D.Jones, North-Holland 1988Google Scholar
  7. [Mogensen 88]
    T.Æ.Mogensen, Partially Static Structures in a Self-Applicable Partial Evaluator in the Proceedings of the Workshop on Partial Evaluation and Mixed Computation, Denmark, October 1987, eds. D.Bjørner, A.P.Ershov and N.D.Jones, North-Holland 1988Google Scholar
  8. [Mogensen 89]
    T.Æ.Mogensen, Separating Binding Times in Language Specifications submitted for publishingGoogle Scholar
  9. [Nielson,Nielson 86]
    H.R.Nielson, F.Nielson, Semantics Directed Compiling for Functional Languages in the Proceedings of the ACM Conference on LISP and Functional Programming 1986Google Scholar
  10. [Nielson,Nielson 88]
    H.R.Nielson, F.Nielson, Automatic Binding Time Analysis for a Typed λ-Calculus in Science of Computer Programming 10, North-Holland 1988Google Scholar
  11. [Romanenko 88]
    S.A.Romanenko, A Compiler Generator Produced by a Self-Applicable Specialiser can have a Surprisingly Natural and Understandable Structure in the Proceedings of the Workshop on Partial Evaluation and Mixed Computation, Denmark, October 1987, eds. D.Bjørner, A.P.Ershov and N.D.Jones, North-Holland 1988Google Scholar
  12. [Schmidt 88]
    D.A.Schmidt, Static Properties of Partial Reduction in the Proceedings of the Workshop on Partial Evaluation and Mixed Computation, Denmark, October 1987, eds. D.Bjørner, A.P.Ershov and N.D.Jones, North-Holland 1988Google Scholar
  13. [Wadler,Hughes 87]
    P.Wadler, R.M.J.Hughes Projections for Strictness Analysis in the Proceedings of 1987 Functional Programming Languages and Computer Architecture Conference, Springer Verlag LNCS 274, September 1987Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Torben Æ. Mogensen
    • 1
  1. 1.DIKU Computer Science DepartmentUniversity of CopenhagenKøbenhavn ØDENMARK

Personalised recommendations