|
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.
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|