ACM Home Page
Please provide us with feedback. Feedback
Constructor specialization
Full text PdfPdf (863 KB)
Source ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation archive
Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation table of contents
Copenhagen, Denmark
Pages: 22 - 32  
Year of Publication: 1993
ISBN:0-89791-594-1
Author
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 9,   Citation Count: 5
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/154630.154633
What is a DOI?

ABSTRACT

In the section on “challenging problems” in the proceedings from the first international workshop on partial evaluation and mixed computation [BEJ88] a question is stated: “Can PE be used to generate new specialized data types, in a way analogous to generating specialized functions”. Since then little has been done to address this problem. In [Lau89], new types are indeed generated, but they are all simpler versions of the types in the original program. It is, e.g. not possible to have types with more constructors than the types in the original program. I propose to alleviate this by means of constructor specialization. Constructors are specialized with respect to the static parts of their arguments, just like residual functions. I show how this is done and argue that it makes it possible to get good results from partial evaluation in cases where the traditional methods fail to produce satisfactory results. The discussion is centered around a small subset of Standard ML, but the idea applies equally well to other languages having user defined constructors, e.g. Haskell and Prolog.


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.

 
BEJ88
D. Bj0rner, A.P. Ershov, and N.D. Jones, editors. Partial Evaluation and Mixed Computation. Proceedings o} the IFIP TC2 Workshop, Gammel A vernaes, Denmark, October 1987. Amsterdam: North-Holland, 1988.
 
Bon91
A. Bondorf. Compiling laziness by partial evaluation. In S.L. Peyton Jones, G. Hutton, and C. Kehler Holst, editors, Functzonal Programming, Glasgow 1990, pages 9-22, Berlin: Springer-Verlag, 1991.
 
Bon93
A. Bondorf. S, milix Manual, System Version 5.0. Technical Report, DIKU, University of Copenhagen, Denmark, 1993.
 
Bul88
M.A. Bulyonkov. A theoretical approach to polyvariant mixed computation. In D. Bjcrner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and M, xed Computation, pages 51- 64, Amsterdam: North-Holland, 1988.
DNBDV91
 
GJ91
C.K. Goraard and N.D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21-69, January 1991.
 
GR92
M. Gengler and B. Rytz. A polyvariant binding time analysis handling partially known values. In M. Billaud et M., editors, WSA '92, Static Analysis, Bordeaux, France, September 1992. Bigre vols 81-82, 1992, pages 322-330, Rennes: IRISA, 1992.
 
Hen91
 
HH91
C.K. ttolst and J. Hughes. Towards bindingtime improvement for free. In S.L. Peyton Jones, G. I-Iutton, and C. Kehler Holst, editors, Functional Programming, Glasgow 1990, pages 83-100, Berlin: Springer-Verlag, 1991.
 
HL91
C.K. Holst and J. Launchbury. Hanclwrltln~ cogen to avoid problems with static typing. In Draft Proceedings, Fourth Annual Glasgow Workshop on Functional Programming, Skye, Scotland, pages 210-218, Glasgow University, 1991.
 
JSS85
 
JSS89
N.D. Jones, P. Sestoft, and H. Sondergaard. Mix: a self-applicable partial evaluator for experiments ia compiler generation. Lisp and Symbolic ('o,aputation, 2(1):9-50, 1989.
 
Lau89
J. Launchbury. Projection Factorisations in Partial Evaluation. PhD thesis, Department of Computing, University of Glasgow, November 1989. Revised version in {Lau91a}.
 
Lau91a
 
Lau91b
 
MB93
T. Mogensen and A. Bondorf. Logimix: a self-applicable partial evaluator for Prolog. In K.-K. Lay and T. Clement, editors, LOPSTR 92. Workshops in Computing, Berlin: Springer- Verlag, January 1993.
 
Mog88
T. Mogensen. Partially static structures in a self-applicable partial evaluator. In D. Bj0rner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and Mixed Computation, pages 325-347, Amsterdam: North-Holland, 1988.
 
Mog89
 
Mog92
T. Mogensen. Self-applicable partial evaluation for pure lambda calculus. In Part, al Evaluation and Semantics-Based Program Manipulat, on, San Francisco, California, June 199P (Technical Report YALEU/DCS/RR.909), pages 116- 121, New Haven, CT: Yale University, 1992.
Mos93
 
MTH90
 
Rom90
 
Ses86