Skip to main content
Log in

State-transition machines for lambda-calculus expressions

  • Published:
Higher-Order and Symbolic Computation

Abstract

The process of compiler generation from lambda-calculus definitions is studied. The compiling schemes developed utilize as their object language the set of state transition machines (STMs): automata-like transition sets using first-order arguments. An intermediate definition form, the STM-interpreter, is treated as central to the formulation of STMs. Three compiling schemes are presented: one derived directly from an STM-interpreter for the lambda-calculus; one formulated from an STM-interpreter variant of Landin’s SECD-machine; and one defined through meaning-preserving transformations upon a denotational definition of the lambda-calculus. The results are compared and some tentative conclusions are made regarding the utility of compiler generation with the STM forms.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Church, A.: The Calculi of Lambda-Conversion. Annals of Mathematical Studies, vol. 6. Princeton Univ. Press, Princeton (1951)

    Google Scholar 

  2. Curry, H., Feys, R.: Combinatory Logic, vol. 1. North-Holland, Amsterdam (1958)

    Google Scholar 

  3. Ershov, A.: On the essence of compilation. In: Neuhold, E. (ed.) Formal Description of Programming Concepts, pp. 391–420. North-Holland, Amsterdam (1978)

    Google Scholar 

  4. Jones, N., Schmidt, D.: Compiler generation from denotational semantics. In: Jones, N. (ed.) Semantics-Directed Compiler Generation. Lecture Notes in Computer Science, vol. 94, pp. 70–93. Springer, New York (1980)

    Google Scholar 

  5. Landin, P.: The mechanical evaluation of expressions. Comput. J. 6(4), 308–320 (1964)

    MATH  Google Scholar 

  6. Plotkin, G.: Call-by-name, call-by-value and the λ-calculus. Theor. Comput. Sci. 1, 125–159 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  7. Reynolds, J.: Definitional interpreters for higher-order programming languages. In: Proc. 25th ACM National Conference, Boston, pp. 717–740 (1972)

  8. Reynolds, J.: On the relation between direct and continuation semantics. In: Proc. 2d Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science, pp. 141–156. Springer, New York (1974)

    Google Scholar 

  9. Schmidt, D.: Compiler generation from lambda-calculus definitions of programming languages. Ph.D. Thesis, Kansas State University, Manhattan, KS (1981)

  10. Scott, D.: Data types as lattices. SIAM J. Comput. 5, 522–587 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  11. Stoy, J.: Denotational Semantics. MIT Press, Cambridge (1997)

    Google Scholar 

  12. Strachey, C., Wadsworth, C.: Continuations—a mathematical semantics for handling full jumps. Technical Report PRG-11, Programming Research Group, Oxford University (1974)

  13. Wadsworth, C.: The relation between computational and denotational properties for Scott’s models of the lambda-calculus. SIAM J. Comput. 5, 488–521 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  14. Watt, D., Madsen, O.: Extended attribute grammars. Technical Report 10, University of Glasgow (1977). Revised version: On defining semantics by means of extended attribute grammars. In: Jones, N.D. (ed.) Semantics-Directed Compiler Generation. Lecture Notes in Computer Science, vol. 94. Springer (1980)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David A. Schmidt.

Additional information

Permanent address: Computing and Information Science Department, Kansas State University, Manhattan, KS 66506, USA.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schmidt, D.A. State-transition machines for lambda-calculus expressions. Higher-Order Symb Comput 20, 319–332 (2007). https://doi.org/10.1007/s10990-007-9012-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10990-007-9012-2

Keywords

Navigation