|
ABSTRACT
For a functional programming language with a lazy standard semantics, we define a strictness analysis by means of abstract interpretation. Using the information from the strictness analysis we are able to define a code generation which avoids delaying the evaluation of the argument to an application, provided that the corresponding function is strict.
To show the correctness of the code generation, we will adopt the framework of logical relations and define a layer of predicates which finally will ensure that the code generation is correct with respect to the standard semantics.
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
|
Samson Abrarasky and Chris Hankin. An introduction to abstrax:t interpretation. In Samson Abramsky and Chris Hankin, editors, Abstract Interpretation o/ Declarative Languages, chapter 1, pages 9-31. Ellis Hotwood, 1987.
|
| |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
Geoffrey L. Burn, Chris Hankin, and Samson Abramsky. Strictness analysis for higher-order functions. Science of Computer Programming, 7:249-278, 1986.
|
| |
7
|
P. Cousot and R. Cousot. Abstract Interpretation Frameworks. Journal of Logic and Computation, 2(4):511-547, August 1992.
|
| |
8
|
|
 |
9
|
|
| |
10
|
Mike Gordon. HOL- A Proof Generating System for Higher-Order Logic. Cambridge CL TR 103, Computer Laboratory, University of Cambridge, 1987.
|
 |
11
|
|
 |
12
|
|
| |
13
|
Torben P. Lunge. Implementation af paxametriserede semantikker, 1990. Report of written project, Aaxhus University, Denmark. In Danish.
|
| |
14
|
Torben P. Lunge. Correctness of Code Generations Based on a Functional Programming Language. Master's thesis, Aarhus University, Denmark, 1992.
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
|
| |
19
|
|
| |
20
|
Lawrence C. Paulson. Experience with Isabelle: A Generic Theorem Prover. Cambridge TR 143, Computer Laboratory, University of Cambridge, 1988. Preliminary version.
|
| |
21
|
Gordon D. Plotkin. Lambda-definability and logical relations. Memorandum SAI-RM-4, School of Artificial Intelligence, University of Edinburgh, 1973.
|
| |
22
|
Gordon D. Plotkin. Lambda-definabifity in the full type hierarchy. In J. P. Seldin and J. R. Hindley, editors, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism. Academic Press, 1980.
|
| |
23
|
J. C. Reynolds. Types, Abstraction and Parametric Polymorphism. in Proceedings in Information Processing (1FIP}, pages 513-523. North-Holland, 1983.
|
| |
24
|
J. E. Stay. The Congruence of two Programming Language Definitions. Theoretical Computer Science, 13:151-174, 1981.
|
| |
25
|
J. W. Thatcher, E. G. Wagner, and J. B. Wright. More on advice on structuring compilers and proving them correct. Theoretical Computer Science, 15:223- 249, 1981.
|
|