
Flow Analysis of Lambda Expressions
Author(s) -
Neil D. Jones
Publication year - 1981
Publication title -
daimi report series
Language(s) - English
Resource type - Journals
eISSN - 2245-9316
pISSN - 0105-8517
DOI - 10.7146/dpb.v10i128.7404
Subject(s) - lambda , interpreter , flow (mathematics) , point (geometry) , set (abstract data type) , church encoding , mathematics , value (mathematics) , static analysis , lambda calculus , computer science , expression (computer science) , typed lambda calculus , calculus (dental) , programming language , discrete mathematics , simply typed lambda calculus , physics , geometry , statistics , medicine , dentistry , optics
We describe a method to analyze the data and control flow during mechanical evaluation of lambda expressions. The method produces a finite approximate description of the set of all states entered by a call-by-value lambda-calculus interpreter; a similar approach can easily be seen to work for call-by-name. A proof is given that the approximation is ''safe'' i.e. that it includes descriptions of every intermediate lambda-expression which occurs in the evaluation. From a programming languages point of view the method extends previously developed interprocedural analysis methods to include both local and global variables, call-by-name or call-by-value parameter transmission and the use of procedures both as arguments to other procedures and as the results returned by them.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom