DocumentCode :
3315362
Title :
Controlled self-applicable on-line partial evaluation, using strategies
Author :
Beckman, Mattox ; Kamin, Sam
Author_Institution :
Dept. of Comput. Sci., Illinois Univ., Urbana, IL, USA
fYear :
1998
fDate :
14-16 May 1998
Firstpage :
143
Lastpage :
152
Abstract :
Online partial evaluators are hardly ever self-applicable, because the complexity of deciding whether to residualize terms causes a combinatorial explosion when self-application is attempted. T. Mogensen (1995) has found a way to write a self-applicable online partial evaluator for the λ-calculus. His method is to regard every λ-term as having both static and dynamic aspects; then, applications can always be done statically (using the static aspect of the operator). However, the absence of decision-making about residualization has a down-side: his partial evaluator knows only how to fully reduce partially evaluated terms. The result is considerable code explosion. We show how this problem can be overcome, in part, by changing the type of the partial evaluator, and giving a new version of the Futamura projections to correspond to that new type. Specifically, we have the partial evaluator take a third argument, called a strategy, which “advises” the partial evaluator whether to residualize. Strategies allow the programmer to control the tradeoff between the size of a specialized term and the cost of subsequently applying it. We present a number of strategies and examples of each
Keywords :
computational complexity; lambda calculus; online operation; partial evaluation (compilers); λ-calculus; Futamura projections; code explosion; combinatorial explosion; controlled self-applicable online partial evaluation; dynamic aspects; partial evaluator type changing; partially evaluated terms; static aspects; strategy argument; term residualization; term size-application cost tradeoff; Automatic testing; Calculus; Computer science; Costs; Decision making; Explosions; NASA; Performance evaluation; Programming profession; Size control;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Languages, 1998. Proceedings. 1998 International Conference on
Conference_Location :
Chicago, IL
ISSN :
1074-8970
Print_ISBN :
0-8186-8454-2
Type :
conf
DOI :
10.1109/ICCL.1998.674165
Filename :
674165
Link To Document :
بازگشت