| A. Takeuchi and K Furukawa. Partial evaluation of prolog programs and its application to meta-programing. In Proc of IFIP. North Holland, 1986. |
....of formulas (rules and propositions) We propose to do it by means of an Specialization Calculus of KBs. Specialisation is based on the notion of partial evaluation expressed in the well known Kleene s Theorem. Partial evaluation algorithms have been intensively in logic programming [9] 2] 3] [8] [4] mainly for e#ciency purposes. In this paper we propose the use of this technique to improve the communication behavior of ESs. With this purpose in section 2 we propose a partial evaluation mechanism for rule bases. In section 3 we formalise an Specialisation Calculus. Finally a little ....
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its application to meta programming. In Information Processing 86, 1986.
....of formulas (rules and propositions) We propose to do it by means of an Specialization Calculus of KBs. Specialisation is based on the notion of partial evaluation expressed in the well known Kleene s Theorem. Partial evaluation algorithms have been intensively in logic programming [9] 2] 4] [8] [5] mainly for e#ciency purposes. In this paper we propose the use of this technique to improve the communication behavior of ESs. With this purpose in section 2 we propose a partial evaluation mechanism for rule bases. In section 3 we formalise an Specialisation Calculus. Finally a little ....
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its application to meta programming. In Information Processing 86, 1986.
....technology accompanying meta interpretation turned out to be partial evaluation. Partial evaluation of a meta interpreter with an additional flavor with respect to a user program will result in a user program with the additional flavor that runs almost as e#ciently as the original user program [24]. This idea, though very elegant, has not become as popular as we had expected. One reason is that before the booming of the Internet, a program ran either on a single processor or on parallel processors with a more or less uniform structure, where a hardwired approach was manageable and worked. ....
Takeuchi, A. and Furukawa, K., Partial Evaluation of Prolog Programs and Its Application to Meta Programming. In Information Processing 86, Kugler, H.-J. (ed.), North-Holland, Amsterdam, 1986, pp. 415--420.
....can be translated into ( Goal fail;true) fail;true) Also, as we will see in the next section, specialisation of the if then else poses much less problems than for instance the full blown cut. This was already suggested by O Keefe in [74] and carried out by Takeuchi and Furukawa in [89]. So, given the current speed penalty of the ground representation [9] employing the if then else seems like a reasonable choice. In the next section we will first present a subset of full Prolog, called If Then Else Prolog or just ITE Prolog, and discuss how ITE Prologprograms can be ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, pages 415--420, 1986.
....6.5 Partial checking We will now show how pointcuts can be partially checked so as to optimize execution of a woven program. The idea of partial checking is a very simple variant of partial evaluation. Partial evaluation is a set of generally applicable techniques to optimize programs [32,51]. The idea is to rewrite a program when part of its input is known, so as to obtain a specialized version of the program. Partial evaluation is speci cally intent on providing techniques for the rewriting so as to make the specialized variant execute faster than the original program. When doing ....
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its applications to meta programming. Technical Report TR-126, Institute for New Generation Computer Technology, 1985.
....expressions. The meaning of the metainterpreter is straightforward and can be used for the rapid prototyping of different extensions. Metalevel implementations are however costly in terms of efficiency because of the computational overhead due to metainterpretation. Partial evaluation techniques [Takeuchi and Furukawa 1986] have been put forward to lower the burden of metainterpretation on the execution speed. Notably, the application of standard partial evaluation techniques to the extended vanilla metainterpreter defined in this paper permits in most cases to compile the metainterpreter down to the object level. ....
Takeuchi, A. and Furukawa, K. 1986. Partial evaluation of Prolog programs and its application to metaprogramming. In H.-J. Kugler (Ed.), Information Processing 86, pp. 415--420. North-Holland.
....referred to as partial deduction [24] in logic programming) can be exploited to specialise programs so as to improve their efficiency. In particular, the application of partial evaluation techniques for reducing the interpretation overhead in meta programs has been studied by many authors (e.g. [9, 14, 24, 37, 41, 44]) Other authors have pointed out the effectiveness of combining partial evaluation with other program transformation techniques [14, 38, 39] We will describe the design, implementation and application of a program specialiser which has been constructed according to the following requirements. ....
....basic results of partial evaluation to the extension considered, as done for instance in [10] we would like to reduce our application to a special instance of the general case of partial evaluation in logic programming. Several program specialisers for logic programs have been developed (e.g. [18, 39, 44]) The majority of them is written in Prolog and employs extra logical features of the language, such as the cut operator and built in predicates like var, nonvar, assert, retract, and copy term. Unfortunately this spoils declarativeness, which is one of the distinguishing features of logic ....
[Article contains additional citation context not shown here]
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta-programming. In H.-J. Kugler, editor, Information Processing 86, pages 415--420. North-Holland, 1986. 47
....using partial evaluation, a form of compilation. Intuitively, to partially evaluate a program means the opposite of generalizing it. When a very general program, for instance an interpreter, is partially evaluated, we obtain a sort of compiler, less general but more efficient than the interpreter [162, 183]. The combination of metaprogramming and partial evaluation makes simple and effective the implementation in Prolog of new language mechanisms and programming environment tools [98] If the result of partial evaluation is still inefficient, it is always possible to use the metaprogram as the ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In H. Kugler, editor, Proc. IFIP 86, pages 415--420. North-Holland, 1986.
....a more efficient program which behaves as the original one on the considered subdomain. In the field of logic programming, the narrowed context is usually described by means of a set of queries of interest. Specialisation methods are based on the idea of partially evaluating program clauses [5, 16, 20, 21] with respect to this set of queries. The goal is to detect clauses which are redundant in the restricted context, or to specialise them preventing costly failing derivations. If the original program is correct with respect to a pre post specification [4, 9, 10, 2] and the considered queries ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In Information Processing 86, pages 415--420, 1986.
....for which clause 2 is undefined or explicit interpretation is not required. A major problem with the use of meta programs for interpreting other Prolog programs is the loss of efficiency caused by interpreting the object programs indirectly through a meta program. Gallagher in (1986) and Takeuchi and Furukawa in (1986) showed that most of the overhead due to meta programming in Prolog could be removed by partially evaluating the meta program with respect to a specific object program. This important development and other research concerning program transformations en10 couraged further development of many kinds ....
Takeuchi, A. & Furukawa, K. (1986), Partial evaluation of Prolog programs and its application to meta programming, in H.-J. Kugler, ed., `Information Processing 86, Dublin', North Holland, pp. 415--420.
....of formulas (rules and propositions) We propose to do it by means of an Specialization Calculus of KBs. Specialisation is based on the notion of partial evaluation expressed in the well known Kleene s Theorem. Partial evaluation algorithms have been intensively in logic programming [9] 2] 4] [8] [5] mainly for efficiency purposes. In this paper we propose the use of this technique to improve the communication behavior of ESs. With this purpose in section 2 we propose a partial evaluation mechanism for rule bases. In section 3 we formalise an Specialisation Calculus. Finally a little ....
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its application to meta programming. In Information Processing 86, 1986.
....operations, including composition, can form a basis for a method to incrementally construct logic programs from reusable components. 1 Introduction Operations on logic programs have been usually defined with model theoretic semantics in mind. Typical operations such as fold unfold (e. g, [13, 14]) are required to preserve models or meanings. Program development methods for logic programs, like the one expounded by Deville in [4] also deal with program transformations (operations) which are meaning preserving; i.e. yield logically equivalent programs or problem descriptions. Program ....
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its application to meta programming. In H.J. Kugler, editor, Information Processing 86, pages 415-- 420, New York, 1986.
....as the original one on the considered subdomain. In the field of logic programming, the narrowed context is usually described by means of a set of queries of interest. Specialisation methods are based on the idea of partially evaluating program clauses with respect to this set of queries (see [19, 24]) in order to detect clauses which are redundant in the restricted context or to specialise them preventing costly failing derivations. If the original program was correct with respect to a pre post specification (see [4, 8, 13, 2] and the considered queries satisfy the precondition, the ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In Information Processing 86, pages 415--420, 1986.
.... can be applied to (a representation of) itself (so called Futamura projections) 28, 42] Some interesting examples of writing partial evaluators as logic programs, or applying partial evaluation to logic programs are given by Komorowski [47, 48] Kahn [45] Sterling [82] Takeuchi Furukawa [84], Lloyd Shepherdson [58] Jones, Gomard Sestoft [44] and Sahlin [76] Program Analysis. Program analysis attempts to extract properties of a program; knowledge of such properties can subsequently be used in a language processor in order to increase the time or space efficiency when running ....
Takeuchi, A. and Furukawa, K., Partial Evaluation of Prolog Programs and its Application to Meta Programming, in: H.-J. Kugler (ed.), Information Processing 86, North-Holland, Amsterdam, 1986.
....wrt a given program. There exist several partial deduction procedures for logic programs (see for example [3,36] Some of them have special features oriented towards the partial deduction of metaprograms [17,24,31] The partial deduction of metaprograms has been used in several systems [9,30,31,33] but was never treated in a formal way. We first formalize the application of these techniques to the vanilla metainterpreter. Our result is a kind of folk theorem which is however a useful step in the derivation of the corresponding result in the case of the inheritance enhanced ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H. J. Kugler, editor, Information Processing 86, pages 415--420. North-Holland, Amsterdam, 1986.
....a more efficient program which behaves as the original one on the considered subdomain. In the field of logic programming, the narrowed context is usually described by means of a set of queries of interest. Specialisation methods are based on the idea of partially evaluating program clauses [16, 21 23] with respect to this set of queries in order to detect clauses which are redundant in the restricted context or to specialise them preventing costly failing derivations. If the original program was correct with respect to a pre post specification [4, 9, 10, 2] and the considered queries satisfy ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In Information Processing 86, pages 415--420, 1986.
....unfold fold [107] and partial evaluation [78] are defined so as to preserve some observational equivalences. In most of these techniques, the relevant observables are computed answers (and sometimes finite failures) There exists at least one technique, the partial evaluation of open programs [111, 106, 86], whose aim is to preserve a [ compositional program equivalence 7 . Most of the transformation techniques are proved to be safe w.r.t. the declarative semantics only, thus failing to capture the safeness w.r.t. the more complex observable behavior. In some cases the observational equivalences ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, pages 415--420. North-Holland, Amsterdam, 1986.
....of formulas (rules and propositions) We propose to do it by means of an Specialization Calculus of KBs. Specialisation is based on the notion of partial evaluation expressed in the well known Kleene s Theorem. Partial evaluation algorithms have been intensively in logic programming [9] 2] 3] [8] [4] mainly for efficiency purposes. In this paper we propose the use of this technique to improve the communication behavior of ESs. With this purpose in section 2 we propose a partial evaluation mechanism for rule bases. In section 3 we formalise an Specialisation Calculus. Finally a little ....
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its application to meta programming. In Information Processing 86, 1986.
....referred to as partial deduction [21] in logic programming) can be exploited to specialise programs so as to improve their efficiency. In particular, the application of partial evaluation techniques for reducing the interpretation overhead in meta programs has been studied by many authors (e.g. [14, 21, 29, 35]) We will describe the design, implementation and application of a program specialiser which has been constructed according to the following requirements. 1) The specialiser should be targeted to improving the efficiency of the meta interpreter M . Rather than aiming at designing a general ....
....basic results of partial evaluation to the extension considered, as done for instance in [10] we would like to reduce our application to a special instance of the general case of partial evaluation in logic programming. Several program specialisers for logic programs have been developed (e.g. [16, 21, 32, 35]) The majority of them is written in Prolog and employs extra logical features of the languages, such as the cut operator and built in predicates like var, nonvar, assert, retract, and copy term. While most of these specialisers yield notable speed ups, the adoption of Prolog s extra logical ....
[Article contains additional citation context not shown here]
A. Takeuchi and K. Furukawa. Partial evaluation of prolog programs and its application to meta-programming. In H.-J. Kugler, editor, Information Processing 86, pages 415--420. NorthHolland, 1986.
.... as a tool for program specialization which supports software reuse by program adaptation [13] Partial evaluation of logic programs (which is also called partial deduction) has been introduced in [29] and then formalized in [36] It has been fruitfully applied to specialize metainterpreters [22, 49, 55, 57, 58], that is, logic programs which behave as interpreters of logic programs. Specialization of meta interpreters forms the basis of an important technique which can be used to enhance logic programming. Indeed, sophisticated functionalities and evaluation mechanisms can be added to logic languages by ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta-programming. In H. J. Kugler, editor, Proceedings of Information Processing '86, pages 279--282. North-Holland, 1986.
....compiling queries does not attack the problem of optimizing the compilation by removing redundant and empty queries, as it is done in our algorithm. The same kind of elimination strategy should improve his method. 5.3. 2 Partial evaluation The aim of partial evaluation in logic programming [Ven] [TF86] is to optimize computation. Given a logic program (set of PROLOG sentences) and given a open query (goal) the problem is to find another program (generated from the initial set of clauses and from to the query) such that computing it on the set of facts will be less expansive than computing ....
A. Takeuchi and K Furukawa. Partial evaluation of prolog programs and its application to meta-programing. In Proc of IFIP. North Holland, 1986.
....As far as tree construction is concerned, imposing a depth bound is an obvious way to certify its termination. However, this device has often been judged too crude, and research has investigated other methods, either to be combined with (some kind of) a depth bound (see e.g. 21] 34] [35], 2] 32] 3] or not ( 32] 3] 4] 25] Abstracting, then, from the local termination problem, in other words, assuming that for any atom and program, a partial deduction for that atom in that program can be delivered, the present paper sets out to investigate global termination. As ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In H.-J. Kugler, editor, Information Processing 86, pages 415--420, 1986.
....generated by partial evaluation [1, 14, 25, 27, 30, 33, 61] In some cases, the compilation is from a language to itself. In this case the purpose is to make certain computation strategies explicit (e.g. continuation passing style) or to add extra information (e.g. for debugging) to the program [20, 42, 83, 93]. Many types of programs, e.g. scanners and parsers, use a table or other data structure to control the program. It is often possible to achieve speed up by partially evaluating the table driven program with respect to a particular table [7, 78] However, this may produce very large residual ....
.... transformation techniques of driving and supercompilation, which generalize partial evaluation [95, 96, 97] A number of recent surveys on driving and supercompilation exist [48, 89, 90, 91] Prolog partial evaluation was pioneered by Komorowski [64, 65] subsequent work on Prolog includes [13, 44, 45, 66, 93, 98, 99]. Sahlin constructed a practical but non self applicable partial evaluator for full Prolog [84, 85] Bondorf and Mogensen [76] constructed a self applicable partial evaluator for a Prolog subset, Gurr one for the logic language Godel [52] J rgensen and Leuschel created a generator of generating ....
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, Dublin, Ireland, pages 415--420. Amsterdam: NorthHolland, 1986.
No context found.
A. Takeuchi and K Furukawa. Partial evaluation of prolog programs and its application to meta-programing. In Proc of IFIP. North Holland, 1986.
No context found.
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, pages 415-420, 1986.
First 50 documents
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