| Peter Thiemann. A unified framework for binding-time analysis. In Michel Bidoit and Max Dauchet, editors, TAPSOFT '97: Theory and Practice of Software Development, number 1214 in Lecture Notes in Computer Science, pages 742--756, Lille, France, April 1997. Springer-Verlag. |
....to some integer constant n [12, Lemma 2] This property is exactly noninterference: static data cannot rely on dynamic data. Implicit in the Hatcliff Danvy type system is a restriction on the structure of types. This restriction can be made explicit by defining a notion of well formedness of types [26, 35]. For example, if dyn denotes dynamic binding time with sta dyn, the types ( int;sta) int;sta) dyn) and ( int;sta) Theta (int;sta) dyn) are ill formed, whereas ( int;dyn) int;dyn) sta) is well formed. Using DCC, we can give a more generic account of this system. Specifically, we can show ....
....imposed by the specializer. We formalize these ideas in a source language similar to SLam, where the types are annotated with binding times sta dyn. Types in the binding time calculus are therefore t : unit j (s s) j (s Theta s) j (s s) s : t; b) b : sta j dyn The well formed types [35] are a subset of the types defined as follows: ffl (unit;b) and (s 1 s 2 ; b) are well formed. ffl ( t 1 ; b 1 ) op (t 2 ; b 2 ) b) is well formed iff (t 1 ; b 1 ) and (t 2 ; b 2 ) are well formed and b b i , where op = Theta; The typing rules are given in Figure 4. The judgement G e ....
P. Thiemann. A unified framework for binding-time analysis. In M. Bidoit, editor, Colloquium on Formal Approaches in Software Engineering (FASE '97), volume 1214 of Lect. Notes in Computer Sci., pages 742--756. Springer-Verlag, April 1997.
....results. Usually, the runtime phase is faster than standard evaluation, thereby improving overall speed if the residual program is executed several times. O#ine partial evaluation is a flavor of program specialization where the specialization phase is preceded by a binding time analysis or BTA [29, 43, 53]. A BTA is a program analysis that determines what constructs in a program can be executed at specialization time. It yields an annotation of each construct with a binding time indicating in which phase it is to be executed. A binding time annotated expression is often called a two level term [44] ....
....analysis is built as a constraint analysis on top of the region type system. There are several advantages to this approach. First, it allows for a clean separation between the underlying flow analysis and the additional well formedness requirements, which is a desirable factorization for a BTA [53]. Secondly, the flow analysis part of our BTA is almost as accurate as the powerful data dependency analysis obtained by region inference. Moreover, since we can recycle the polynomial time region reconstruction algorithms by Birkedal and Tofte [3, 57] it is only necessary to design and implement ....
[Article contains additional citation context not shown here]
Peter Thiemann. A unified framework for binding-time analysis. In Michel Bidoit and Max Dauchet, editors, TAPSOFT '97: Theory and Practice of Software Development, number 1214 in Lecture Notes in Computer Science, pages 742--756, Lille, France, April 1997. Springer-Verlag.
....starts with the output of a region inference algorithm: a program with explicit region annotations and its region inference derivation. Similar to type based BTA regions, types, and expressions get binding time annotations. The well known well formedness criteria for bindingtime annotated types [9,31] are refined to take into account the annotations of regions. The RBTA (region based BTA) computes an annotation that fulfills the extended well formedness criteria. Furthermore the annotation is minimal in the sense that we cannot improve the annotation without breaking the well formedness ....
....assumption on region variables. The resulting judgement is R; Gamma E : ffl meaning with binding time assumption R and type assumption Gamma the annotated sto expression E has annotated type and effect ffl. Annotated target expressions and their annotated types are standard [9, 31]. For completeness, we define them here again: t : x j t b t j b x:t j rec b f(x) t j (t; t) b j b (n;i) t) j ffl b j fnew b t t j fget b t t j fupd b t t t The annotated type language: unit b j loc b j heap b j ( Theta : Theta ) b j ....
[Article contains additional citation context not shown here]
Peter Thiemann. A unified framework for binding-time analysis. In TAPSOFT '97: Theory and Practice of Software Development, volume 1214 of Lecture Notes in Computer Science, pages 742--756, Lille, France, April 1997. SpringerVerlag.
....the specialization time computation has a simple type with recursion whereas the specialized program is unconstrained: it can be arbitrarily untyped and or impure. In principle, a binding time analysis could also be based on more powerful type systems. For example, systems with subtyping [45], soft typing [11] or dynamic typing [28] could provide a suitable basis. While the type of the subject program is usually fixed in the traditional approach, this need not be the case for TDPE. This flexibility is due to the interpretive nature of the reify reflect pair of functions, both of ....
Peter Thiemann. A unified framework for binding-time analysis. In Michel Bidoit and Max Dauchet, editors, TAPSOFT '97: Theory and Practice of Software Development, volume 1214 of Lecture Notes in Computer Science, pages 742--756, Lille, France, April 1997. Springer-Verlag.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC