| A. Takano. Generalized partial computation for a lazy functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pages 1--11. New York: ACM, 1991. |
....#ack(m 1,1) for m 0 ack(m,n) #ack(m 1,ack(m,n 1) for m 0, n 0 If ack is partially evaluated wrt. its first argument being 2, the following level 1 rules (specialized versions of ack) will typically be generated: The concept of PE may be extended a bit, as e.g. in [Tak91] where context is taken into account, and in [BCD90] where a function can be specialized wrt. an argument satisfying some predicate. 25 If we introduce ack2, ack1 and ack0 such that ack2(n) is an abbreviation (cf. the discussion in section 2.1.2) of ack(2,n) etc, the level 1 rules will take ....
Akihiko Takano. Generalized partial computation for a lazy functional language. In Partial Evaluation and SemanticsBased Program Manipulation, New Haven, Connecticut. (Sigplan Notices, vol. 26, no. 9), 1991. 255
....Nogi in [FN88] this technique assumes the existence of a powerful theorem prover and interaction from the user. Recent implementations of GPC have used constraints and a disunification based solving procedure instead of a theorem proving mechanism in order to obtain an automatic procedure [Tak92, Tak91] Libraries of rules particular to given domains are used to simplify and extend the set of constraints generated during the transformation. GPC can be considered a constraint based program specialisation technique. The rules for specialising a conditional expression in GPC are as follows ....
.... by Herbrand (term) constraints [Tur86, GK93] The ability to propagate negative binding constraints during partial evaluation was explored by Leuschel et al. in [LS97] In addition, generalized partial computation has been defined using constraints and libraries of manipulation functions [Tak91] On the other hand, the integration of modern constraint solving in an algorithm for partial evaluation has been under exploited; exploring the use of advanced constraint solving in partial evaluation is one of the aims of this work. In this section, the theoretical foundations of constraint ....
[Article contains additional citation context not shown here]
A. Takano. Generalized partial computation for a lazy functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pages 1--11. New York: ACM, 1991.
....program and hope it works. ffl We plan to increase the expressiveness of our meta language by adding qualified expression procedures, which Scherlis used in his thesis [18] to increase the information used to specialize programs. With these we get the power of Generalized Partial Computation [6, 21]. ....
A. Takano. Generalized partial computation for a lazy functional language. ACM SIGPLAN Notices, 26(9):1--11, 1991. Proceedings of Conference on Partial Evaluation and SemanticsBased Program Manipulation, New Haven, CT.
....to expression procedures, we get the power of qualified expression procedures without having to add any ad hoc constructs to the language. Let s say we have an assert function defined as assert p e = if p then e else error 4 With these we get the power of Generalized Partial Computation [FN88, Tak91]. The importance of this extra information for specialization of programs is discussed in Srenson et al. SGJ94] 7 (where error is equivalent to ) for which we add some syntactic sugar: p e = assert p e p e = p e e With assert and some simple laws about it, we get the power of ....
A. Takano. Generalized partial computation for a lazy functional language. ACM SIGPLAN Notices, 26(9):1--11, 1991. Proceedings of Conference on Partial Evaluation and Semantics-Based Program Manipulation, New Haven, CT.
....structure by type reformer ffl, some elements may have many occurrences. This arrangement gives much possibility for multiple computations and multiple traversals of data structures. Fortunately, implementation techniques of functional programs such as partial evaluation, lazy evaluation [21, 22], memoisation [2, 24] and tupling technique[2, 6, 5] can help us to avoid multiple computations and multiple traversals of data structures. At present, we releave us from it, but we plan to study how to remove these recomputations in medio types. It is of interest for us to find that our type ....
A. Takano. Generalized partial computation for a lazy functional language. In Proc. PEPM '91, pages 1--12, New Haven, USA, June 1991. ACM Press.
....to those described in the present paper. This, however, is achieved by a non trivial rewrite of the subject program before partial evaluation is applied, thus rendering full automation difficult. In the case of Generalised Partial Computation [5] Takano has presented a transformation technique [19] that exceeds the power of both Turchin s supercompiler and perfect supercompilation. This extra power, however, stems from an unspecified theorem prover that needs to be fed the properties about primitive functions in the language, axioms for the data structures employed in the program under ....
A. Takano. Generalized partial computation for a lazy functional language. In PEPM'91 [1], pages 1--11.
....do not divide objects into being completely known or completely unknown, so in this setting the difference seems immaterial. 24 M.H. S rensen, R. Gluck, and N.D. Jones theorem prover, supercompilation propagates structural predicates (assertions and restrictions about atoms and constructors) Takano (1991) concretized GPC for the language of Section 2. His formulation includes an environment based version of our rule (5) G[ case v of p 1 t 1 ; pn t n ] E = case v of p 1 G[ t 1 ] E 1 ; pn G[ t n ] E n where E i = E [ fv p i g where the E s are sets of equalities ....
Takano, A. 1991. Generalized partial computation for a lazy functional language. In Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 1--11, ACM Press.
....was introduced by Komorowski in his Ph.D. thesis from 1981, see [Kom82] Since then, partial evaluation of logic programs has been studied extensively, see [Jon93] Generalized partial computation was described by Futamura and Nogi in 1988 [Fut88] and later developed in some detail by Takano [Tak91]. In his Ph.D. thesis Wadler in 1984 described the listless transformer [Wad84,Wad85] and later the deforestation algorithm [Wad88,Fer88] Wadler was aware of Turchins s work from 1982 but made his discoveries independently. 4 3 See [Ers78] 4 The author must apologize for erroneously stating ....
....brackets and . In the earlier papers, k and were used as opening and closing bracket, respectively. Of course, compared to what has already been mentioned, this motivation is superficial. Previous transformers stated for M 1 include deforestation [Fer88] generalized partial computation [Tak91], and partial evaluation [Jon93] 4 We shall return to these transformers in Chapter 9. 3 Hence the name M 1 . 4 Although in the case of partial evaluation a call by value semantics is assumed, making it harder to compare the partial evaluator to the positive supercompiler. 2.2. SYNTAX 11 ....
[Article contains additional citation context not shown here]
A. Takano. Generalized Partial Computation for a Lazy Functional Language. In ACM Workshop on Partial Evaluation and Semantics-Based Program Manipulation. Ed. N. D. Jones, P. Hudak, pp.1-11, ACM Press 1991.
....online. Recent work by Gluck and Klimov has expressed the essence of driving in the context of a more traditional tail recursive language manipulating Lisp like lists [Glu93] Generalized partial computation (GPC) due to Futamura and Nogi [Fut88] and later applied to a lazy functional language [Tak91] has similar effects and power as supercompilation, but has not yet been implemented. The remainder of the paper is organized as follows. In Section 2 we introduce some terminology that allows us to discuss the quality of the output of transformers. In Section 3 we introduce the positive ....
....described in more general terms in [Fut88] concretely, they represent positive information arising from pattern matching. The algorithm actually uses a mixture of substitution based and environment representation of information. There is no need for negative information because the language of [Tak91] has no else construct (just like g functions in our language have no otherwise clause) A related substitution based version is: G[ case v of p 1 : t 1 j : j pn : t n ] E ) case v of p 1 : G[ t 1 fv : p 1 g ] E j : j pn : G[ t nfv : pn g ] E The corresponding rule in deforestation ....
A. Takano. Generalized Partial Computation for a Lazy Functional Language. In ACM Workshop on Partial Evaluation and Semantics-Based Program Manipulation. Ed. N. D. Jones & P. Hudak, pp.1-11, ACM Press 1991.
.... deduction [Leuschel et al. 1996] which performs partial evaluation of logic programs using conjunctions of several atoms together, iii) generalized partial computation [Futamura and Nogi 1988] that incorporates some theorem proving capabilities, and its fully automatic version proposed in [Takano 1991], iv) deforestation [Wadler 1988] which is an algorithm for eliminating intermediate data structures, v) tupling [Pettorossi 1977; Chin 1993] which avoids the repeated computation of common subexpressions and multiple traversals of data structures, vi) UDF [Proietti and Pettorossi 1995] ....
Takano, A. 1991. Generalized partial computation for a lazy functional language. In Proceedings of PEPM '91, New Haven, Connecticut, USA (1991), pp. 1--11. ACM Press.
....an instance of generalized partial evaluation (GPE) GPE is a semantic based program transformation: given an expression e and an information set I that describes partial knowledge about e, GPE produces a residual expression e 0 by specializing e using I . The notion of GPE has appeared in [13] [42], where it is called generalized partial computation (GPC) It was originally proposed to overcome the drawbacks of conventional partial evaluation, which only specializes programs given static values for certain arguments. The key idea of GPE is to employ a theorem prover during the ....
....evaluation (aGPE) a residual expression of the aGPE is called an auxiliary residual expression. For the example above, the specialization of mtxMul(C; R) in the context where null(C) is false is an aGPE that yields the right hand side of (8) as an auxiliary residual expression. In [13] and [42], GPE transformation methods for a restricted form of language (u form) and a lazy functional language are discussed, and small examples are given. In this paper, we see that combining the idea of GPE transformations with other special transformation techniques results in an effective ....
A. Takano. Generalized partial computation for a lazy functional language. In Proceedings of the Symposium on PEPM, pages 1--11, Yale University, June 1991. Published as SIGPLAN Notices, 26(9).
....encounters, and successfully locates the increasing (accumulating) parameters which could be the source of infinite unfolding. Srensen, Gluck and Jones ( SGJ94] pick up four different transformation methods (Partial Evaluation, Deforestation, Supercompilation and Generalized Partial Computation [FNT91, Tak91]) and discuss the difference of transformational power of each method. Because each method is defined for the different language in syntactic way, it is not easy to compare without losing the insights of each method. Calculationbased transformations provides the better device for such comparative ....
A. Takano. Generalized partial computation for a lazy functional language. In ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut., pages 1--11. ACM, 1991.
No context found.
A. Takano. Generalized partial computation for a lazy functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pages 1--11. New York: ACM, 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