|
ABSTRACT
The partial evaluation process requires a binding-time analysis. Binding-time analysis seeks to determine which parts of a program's result is determined when some part of the input is known. Domain projections provide a very general way to encode a description of which parts of a data structure are static (known), and which are dynamic (not static). For first-order functional languages Launchbury [Lau91a] has developed an abstract interpretation technique for binding-time analysis in which the basic abstract value is a projection. Unfortunately this technique does not generalise easily to higher-order languages. This paper develops such a generalisation: a projection-based abstract interpretation suitable for higher-order binding-time analysis.
Launchbury [Lau91b] has shown that binding-time analysis and strictness analysis are equivalent problems at first order, and for projection-based analyses have exactly the same safety condition. We argue that the same is true at higher order, and hence our development also leads to a higher-order projection-based strictness analysis.
The principal limitation of our technique is the restriction to monomorphic typing.
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.
| |
Abr85
|
|
| |
Abr89
|
|
| |
BHA86
|
|
 |
Con90
|
|
| |
Dav92
|
|
| |
DW90
|
|
| |
DW91
|
Davis, K. and Wadler, P. "Strictness analysis in 4D." In Functional Programming, Glasgow 1990: Proceedings of the 1990 Glasgow Workshop on Functional Programming, 13-15 August 1990, Ullapool, Scotland. Simon L. Peyton Jones et al., eds. Springer Workshops in Computing. Springer- Verlag, 1991.
|
| |
Fer92
|
Ferguson, A. "Concrete Data Structures" In Functional Programming: Proceedings of the 1992 Glasgow Workshop, 6-8 July 1992, A yr, Scotland. Springer Workshops in Computing. Springer- Verlag (to appear).
|
| |
HL92
|
Hughes, R.J:M. and Launchbury, J. Projections for polymorphic first-order strictness analysis. Math. Struct. in Comp. Science, vol. 2, pp. 301- 326, CUP, 1992.
|
 |
Hun89
|
|
| |
Hun91
|
Hunt, S. "PERs Generalise Projections for Strictness Analysis." Functional Programming, Glasgow 1990: Proceedings of the 1990 Glasgow Work. shop on Functional Programming, 13-15 August 1990, Ullapool, Scotland. Simon L. Peyton Jones et al., eds. Springer Workshops in Computing. Springer-Verlag, 1991.
|
 |
HS91
|
|
| |
Kam92
|
|
| |
Lau91a
|
Launchbury, J. Projection Factorisations in Partial Evaluation. PhD Thesis, Glasgow University, Nov 89. Distinguished Dissertation in Computer Science, Vol 1, CUP, 1991.
|
 |
Lau91b
|
|
| |
Lau91c
|
|
| |
Mog89
|
|
| |
WH87
|
|
 |
Wad90
|
|
|