10 citations found. Retrieving documents...
A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut. (Sigplan Notices, vol. 26, no. 9, September 1991), pages 142--153. ACM, 1991.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Preserving Information during Online Partial Evaluation - Ruf, Weise (1992)   (Correct)

....and is passed both upward and downward. Now, when information is lost about upward passed values, the list of names will not be lost. Of course, any values (or types or subparts of values) will be lost. For programs intended as input for offline specializers, this transformation can be automated [31, 16]; these transformations are too conservative for input to an online specializer because only values that are provably static will be factored out into downward passed lists, and preserved during specialization. Another solution is rewrites the program so that it only passes information ....

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut. (Sigplan Notices, vol. 26, no. 9, September 1991), pages 142--153. ACM, 1991.


Dependence Analysis for Recursive Data - Liu (1998)   (7 citations)  (Correct)

....to compute the minimum sufficient information needed for producing certain results. We call this dead code analysis, bearing in mind that it may be used for many other purposes. In recent years, dependence analyses have been made more precise so as to be effective in more complicated computations [53, 30, 37, 16, 41], and this is particularly true for dead code analysis [23, 15, 29, 33, 46, 7] Since recursive data constructions are used increasingly widely in high level languages, an important problem is dependence analysis for recursive data. The goal of dead code analysis here is to identify par This ....

....data can be user defined, and dead recursive substructures are interleaved with other recursive substructures on which the computations are live. Several methods have been studied, but all have limitations [27, 23, 33, 46] Similar limitations exist also in other analyses for recursive data [53, 30, 37, 16, 41]. This paper describes a general and powerful method for analyzing dependencies for recursive data. We represent partially dead recursive data using projections based on general regular tree grammars extended with notions of live and dead. The analysis is defined as mutually recursive grammar ....

[Article contains additional citation context not shown here]

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional langauge. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 142--153. ACM, New York, June 1991.


Eliminating Dead Code on Recursive Data - Liu, Stoller (1999)   (5 citations)  (Correct)

....domain for all programs. Launchbury uses projections for binding time analysis of partially static data structures in partial evaluation [27] It is a forward analysis equivalent to strictness analysis and uses a fixed finite abstract domain as well [28] Mogensen [39] De Niel, and others [11] also use projections, based on grammars in particular, for binding time analysis and program bifurcation, but they use only a restricted class of regular tree grammars. Another kind of analysis is escape analysis [42, 13, 4] but existing methods can not express as precise information as we do. ....

....function parameters. The idea of using regular tree grammars for program flow analysis is due to Jones and Muchnick [22] where it is used mainly for shape analysis and hence for improving storage allocation. It is later used to describe other data flow information such as types and binding times [38, 39, 2, 11, 59, 51, 45]. In particular, the analysis for backward slicing by Reps and Turnidge [45] explicitly adopts regular tree grammars to represent projections. It is closest in goal and scope to our analysis. However, it uses only a limited class of regular tree grammars, in which each nonterminal appears on the ....

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 142--153. ACM, New York, June 1991.


Eliminating Dead Code on Recursive Data - Liu, Stoller (1998)   (5 citations)  (Correct)

.... analysis equivalent to strictness analysis and uses a fixed finite abstract domain as well [26] Mogensen, DeNiel, and others also use projections, based on grammars in particular, for bindingtime analysis and program bifurcation, but they use only a restricted class of regular tree grammars [34, 11]. Another kind of analysis is escape analysis [37, 12, 4] but existing methods can not express as precise information as we do. Several analyses are in the same spirit as ours. The necessity interpretation by Jones and Le M etayer [22] uses necessity patterns that correspond to liveness patterns. ....

....are crude. The idea of using regular tree grammars for program flow analysis is due to Jones and Muchnick [20] where it is used mainly for shape analysis and hence for improving storage allocation. It is later used to describe other data flow information such as types and binding times [33, 34, 2, 11, 50, 44, 40]. In particular, the analysis for backward slicing by Reps and Turnidge [40] explicitly adopts regular tree grammars to represent projections. It is closest in goal and scope to our analysis. However, it uses only a limited class of regular tree grammars, in which each nonterminal appears on the ....

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional langauge. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 142--153. ACM, New York, June 1991.


A Semantic Model of Binding Times for Safe Partial Evaluation - Henglein, Sands (1995)   (3 citations)  (Correct)

....of a program. Launchbury adapted this idea to a functional setting, using the idea of domain projections to model binding times of structured data in a firstorder language [Lau88, Lau89] This domain based approach was subsequently adopted and extended by Mogensen [Mog89] and De Niel et al. [NBV91]. Hunt and Sands [HS91] showed that Launchbury s analysis could be smoothly extended to higher types using partial equivalence relations (PERs) as a model of binding times, following Hunt [Hun90] Davis [Dav94] considers a closely related extension to higher types with general recursive types. ....

A. De Niel, E. Bevers, and K. De Vlamnick. Program bifurcation for polymorphically typed functional languages. In Proceedings of the ACM Symposium on Partial Evaluation and SemanticsBased Program Manipulation (PEPM'91), September 1991. ACM SIGPLAN Notices 26(9).


Opportunities for Online Partial Evaluation - Ruf, Weise (1992)   (4 citations)  (Correct)

....and downward. Now even if upward passed values are approximated by unknown, the list of names will not be lost. Of course, any information about the values in the store (such as their types) will be lost. Such rewriting is often performed by hand, but automated versions have been constructed [32, 18]; these have the disadvantage of being able to preserve only values which can be proven, at annotation time, to be known at specialization time; any data dependent information will be lost. Another approach rewrites the program so that it only passes the store downwards, never upwards. This ....

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut. (Sigplan Notices, vol. 26, no. 9, September 1991), pages 142--153. ACM, 1991.


Eliminating Dead Code on Recursive Data - Liu, Stoller (1999)   (5 citations)  (Correct)

....domain for all programs. Launchbury uses projections for binding time analysis of partially static data structures in partial evaluation [27] It is a forward analysis equivalent to strictness analysis and uses a fixed finite abstract domain as well [28] Mogensen [37] De Niel, and others [11] also use projections, based on grammars in particular, for binding time analysis and program bifurcation, but they use only a restricted class of regular tree grammars. Another kind of analysis is escape analysis [40, 13, 4] but existing methods can not express as precise information as we do. ....

....function parameters. The idea of using regular tree grammars for program flow analysis is due to Jones and Muchnick [22] where it is used mainly for shape analysis and hence for improving storage allocation. It is later used to describe other data flow information such as types and binding times [36, 37, 2, 11, 58, 50, 44]. In particular, the analysis for backward slicing by Reps and Turnidge [44] explicitly adopts regular tree grammars to represent projections. It is closest in goal and scope to our analysis. However, it uses only a limited class of regular tree grammars, in which each nonterminal appears on the ....

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 142--153. ACM, New York, June 1991.


Constructor Specialization - Mogensen   (15 citations)  (Correct)

....case expression branches and then assembles these in the final residual program. 7 Refinements and semantic considerations There is a lot of room for improvement of both binding time analysis and specialization as they are shown here. First of all, polyvariant binding time analysis ( GR92] [DNBDV91]) could be used. Specialized constructors add no fundamental extra complexities to this problem, except that projections, as used in [Lau89] and [DNBDV91] appear ill suited for describing binding times involving specialized constructors. Another problem (which is unrelated to polyvariant binding ....

....improvement of both binding time analysis and specialization as they are shown here. First of all, polyvariant binding time analysis ( GR92] DNBDV91] could be used. Specialized constructors add no fundamental extra complexities to this problem, except that projections, as used in [Lau89] and [DNBDV91] appear ill suited for describing binding times involving specialized constructors. Another problem (which is unrelated to polyvariant binding time analysis) is the fact that types are specialized monovariantly in the specialization definition presented in this paper. Thus the residual program can ....

A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pages 142--153, New York: ACM, 1991.


Deferred Compilation: The Automation of Run-Time Code Generation - Leone, Lee (1993)   (15 citations)  (Correct)

....table of specialized versions of power, each of which is created by choosing a value for exp from the set f0; 1; kg and then applying a partial evaluator [Bon93] to power and exp. Similar transformations might also be obtained by applying staging transformation [JS86] program bifurcation [DBV91], or procedure cloning [CHK93] In either case, highly optimized definitions of the specialized functions can be obtained, which can then be compiled into high quality machine code. Hence, one might expect this approach to be useful in the same situations as deferred compilation. However, there ....

Anne De Niel, Eddy Bevers, and Karel De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 142--153. SIGPLAN Notices, September 1991.


Lightweight Run-Time Code Generation - Leone, Lee (1994)   (38 citations)  (Correct)

....function with a fixed exponent that is statically unknown: fun raise exp bases = map (power exp) bases and power exp base = if exp = 0 then 1 else base power (exp 1) base 1.2. 1 Staging Transformations Various techniques such as staging transformation [JS86, Han91] program bifurcation [Mog89, DBV91], fold unfold transformations [BD77] or loop invariant removal [ASU86] might be employed at compile time to hoist computations that do not depend on base out of its scope. Hoisting the conditional test, subtraction, and recursive call yields the following implementation of power: 1 fun power ....

Anne De Niel, Eddy Bevers, and Karel De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 142--153. SIGPLAN Notices, September 1991.

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