Petri net models for the λ-calculus
- 128 Downloads
In [Kluge & Schlütter 83] a Petri net model was presented for the reduction of expressions in a λ-calculus like language. The λ-plan model outlined here, tries to deal with two problems left open by the authors of that paper namely that they model only applicative order string-reduction and do not allow higher order functions. We will try to solve this by using a two-level approach.
In order to model the reduction of a given λ-term, an execution plan for the reduction of the term is generated. Execution of that λ-plan implies two levels of activity. On the control-flow level, transitions send each other messages (tokens) in order to detect redexes. Once a redex has been found a local change is made to the data-flow level where the structure of the plan is transformed according to the reduction rules of λ-calculus.
Although this paper is concerned only with string-reduction, an extension of the model to incorporate graph-reduction is straightforward. The plan model can also be adapted to model other rewriting systems as well.
KeywordsNormal Form Normal Order Reduction Rule Execution Plan Functional Language
Unable to display preview. Download preview PDF.
Appendix B list of references
- [Barendregt 81]Henk P. Barendregt. "The Lambda-calculus, its syntax and semantics", Studies in logic and the foundation of mathematics, Vol. 103, North Holland Publ. 1981.Google Scholar
- [Burge 75]William H. Burge. "Recursive Programming Techniques", Addison Wesley, 1975.Google Scholar
- [Burton 84]Warren F. Burton. "Annotations to control paralellism and reduction order in the distributed evaluation of functional languages", ACM Toplas, Vol. 6,No. 2, April 1984.Google Scholar
- [Clack & Peyton Jones 85]Chris Clack & Simon L Peyton Jones, "Strictness analysis — a practical approach", LNCS 201.Google Scholar
- [Genrich 86]Hartmann J. Genrich. "Pr/T-nets", Lecture notes, Advanced course on Petri nets, Bad Honnef 1986.Google Scholar
- [Kluge & Schlütter 83]Werner E. Kluge & Heinz Schlütter. "Petri net models for the evaluation of applicative programs based on λ-expressions", IEEE transactions on Software Engineering, Vol. SE-9, No. 4, July 1983.Google Scholar
- [Kluge 79]Werner E. Kluge. "The architecture of a reduction machine hardware model", GMD Bonn internal report, ISF-79-3, August 1979.Google Scholar
- [Kennaway & Sleep 83]J.R. Kennaway & M.R. Sleep. "Syntax and informal semantics of DyNe, a parallel language", LNCS 207.Google Scholar
- [Kennaway & Sleep 85]J.R. Kennaway & M.R. Sleep. "Counting director strings", University of East Anglia Computing Studies Sector, 1985.Google Scholar
- [Meijer 85]Erik Meijer. "Petri net models for the λ-calculus", Afstudeerverslag #3, University of Nijmegen.Google Scholar
- [Meijer&Moritz]Erik Meijer & Matthias Moritz. "Pr/T-net semantics for EAGS", To appear as internal report of, University of Nijmegen.Google Scholar
- [Veen 85]A. Veen "The misconstrued semicolon", Ph.D. thesis, Technical University Eindhoven.Google Scholar