ACM Home Page
Please provide us with feedback. Feedback
From operational semantics to abstract machines: preliminary results
Full text PdfPdf (987 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1990 ACM conference on LISP and functional programming table of contents
Nice, France
Pages: 323 - 332  
Year of Publication: 1990
ISBN:0-89791-368-X
Authors
John Hannan  Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA
Dale Miller  Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA
Sponsors
INRIA : Institut Natl de Recherche en Info et en Automatique
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGSAM: ACM Special Interest Group on Symbolic and Algebraic Manipulation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 19,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/91556.91680
What is a DOI?

ABSTRACT

The operational semantics of functional programming languages is frequently presented using inference rules within simple meta-logics. Such presentations of semantics can be high-level and perspicuous since meta-logics often handle numerous syntactic details in a declarative fashion. This is particularly true of the meta-logic we consider here, which includes simply typed &lgr;-terms, quantification at higher types, and &bgr;-conversion. Evaluation of functional programming languages is also often presented using low-level descriptions based on abstract machines: simple term rewriting systems in which few high-level features are present. In this paper, we illustrate how a high-level description of evaluation using inference rules can be systematically transformed into a low-level abstract machine by removing dependencies on high-level features of the meta-logic until the resulting inference rules are so simple that they can be immediately identified as specifying an abstract machine. In particular, we present in detail the transformation of two inference rules specifying call-by-name evaluation of the untyped &lgr;-calculus into the Krivine machine, a stack-based abstract machine that implements such evaluation. The initial specification uses the meta-logic's &bgr;-conversion to perform substitutions. The resulting machine uses de Bruijn numerals and closures instead of formal substitution. We also comment on a similar construction of a simplified SECD machine implementing call-by-value evaluation. This approach to abstract machine construction provides a semantics-directed method for motivating, proving correct, and extending such abstract machines.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
 
4
CURIEN, P. The )~p-calculus: An Abstract Framework for Environment Machines. Tech. Rep., LIENS, 1988.
 
5
 
6
 
7
HARPER, R., HONSELL, F., AND PLOTKIN, G. A framework for defining logics. In Symposium on Logic in Computer Science (1987), pp. 194-204.
 
8
 
9
HUET, G., AND OPPEN, D. Equations and rewrite rules: a survey. In Formal Language Theory: Perspectives and Open Problems, R. Book, Ed., Academic Press, 1980, pp. 349--405.
 
10
Jo HN SSO N, T. Compiling Lazy Functional Languages. PhD thesis, Chalmers University of Technology, 1987.
 
11
 
12
 
13
 
14
LANDIN, P. J. The mechanical evaluation of expressions. Computer Journal 6, 5 (1964), 308-320.
 
15
NADATHUR, G., AND MILLER, D. An overview of )~Prolog. in Fibh International Conference and Symposium on Logic Programming (1988), K. Bowen and R. Kowalski, Eds., MIT Press.
 
16
 
17
 
18


Collaborative Colleagues:
John Hannan: colleagues
Dale Miller: colleagues