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.
Similar content being viewed by others
References
Church, A.: The Calculi of Lambda-Conversion. Annals of Mathematical Studies, vol. 6. Princeton Univ. Press, Princeton (1951)
Curry, H., Feys, R.: Combinatory Logic, vol. 1. North-Holland, Amsterdam (1958)
Ershov, A.: On the essence of compilation. In: Neuhold, E. (ed.) Formal Description of Programming Concepts, pp. 391–420. North-Holland, Amsterdam (1978)
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)
Landin, P.: The mechanical evaluation of expressions. Comput. J. 6(4), 308–320 (1964)
Plotkin, G.: Call-by-name, call-by-value and the λ-calculus. Theor. Comput. Sci. 1, 125–159 (1975)
Reynolds, J.: Definitional interpreters for higher-order programming languages. In: Proc. 25th ACM National Conference, Boston, pp. 717–740 (1972)
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)
Schmidt, D.: Compiler generation from lambda-calculus definitions of programming languages. Ph.D. Thesis, Kansas State University, Manhattan, KS (1981)
Scott, D.: Data types as lattices. SIAM J. Comput. 5, 522–587 (1976)
Stoy, J.: Denotational Semantics. MIT Press, Cambridge (1997)
Strachey, C., Wadsworth, C.: Continuations—a mathematical semantics for handling full jumps. Technical Report PRG-11, Programming Research Group, Oxford University (1974)
Wadsworth, C.: The relation between computational and denotational properties for Scott’s models of the lambda-calculus. SIAM J. Comput. 5, 488–521 (1976)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Permanent address: Computing and Information Science Department, Kansas State University, Manhattan, KS 66506, USA.
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10990-007-9012-2