Binding-time analysis for both static and dynamic expressions

被引:4
作者
Asai, K [1 ]
机构
[1] Univ Tokyo, Fac Sci, Dept Informat Sci, Bunkyo Ku, Tokyo 1130033, Japan
关键词
partial evaluation; offline specialization; binding-time analysis; type system; functional languages;
D O I
10.1007/BF03037258
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper presents a specializer and a binding-time analyzer for a functional language where expressions are allowed to be used as both static and dynamic. With both static and dynamic expressions, data structures can be statically accessed while they are residualized at the same time. Previously, such data structures were treated as completely dynamic, which prevented their components from being accessed statically. The technique presented in this paper effectively allows data structures to be lifted which was prohibited in the conventional partial evaluators. The binding-time analysis is formalized as a type system and the solution is obtained by solving constraints generated by the type system. We prove the correctness of the constraint solving algorithm and show that the algorithm runs efficiently in almost linear time.
引用
收藏
页码:27 / 51
页数:25
相关论文
共 20 条
[1]  
Asai K, 1999, LECT NOTES COMPUT SC, V1694, P117
[2]  
ASAI K, 1997, ACM SIGPLAN S PART E, P12
[3]   FIXPOINT COMPUTATION FOR POLYVARIANT STATIC ANALYSES OF HIGHER-ORDER APPLICATIVE PROGRAMS [J].
ASHLEY, JM ;
CONSEL, C .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (05) :1431-1448
[4]  
Bondorf A., 1993, Journal of Functional Programming, V3, P315, DOI 10.1017/S0956796800000769
[5]   AUTOMATIC AUTOPROJECTION OF RECURSIVE EQUATIONS WITH GLOBAL VARIABLES AND ABSTRACT-DATA-TYPES [J].
BONDORF, A ;
DANVY, O .
SCIENCE OF COMPUTER PROGRAMMING, 1991, 16 (02) :151-195
[6]  
Danvy O., 1995, LISP and Symbolic Computation, V8, P209, DOI 10.1007/BF01019004
[7]  
DANVY O, 1990, PROCEEDINGS OF THE 1990 ACM CONFERENCE ON LISP AND FUNCTIONAL PROGRAMMING, P151, DOI 10.1145/91556.91622
[8]  
DANVY O, 1996, 23 ANN ACM S PRINC P, P242
[9]  
DEAN J, 1994, ACM SIGPLAN WORKSH P, P85
[10]  
FUJINAMI N, 1998, P 2 INT WORKSH TYP C, P135