| Barklund, J. (1995). Metaprogramming in logic. Encyclopedia of Computer Science and Technology 33, 205--227. |
....that the goal is effectively achieved whatever the surrounding situation. B. Bouzy T. Cazenave page 45 08 06 01 The rules that are used to develop the OR nodes of the search trees are created, either by unfolding rules concluding on a won goal, or a winning goal [Tamaki 84] Gallagher 93] Barklund 94] or by EBG [Pitrat 76] Mitchell al. 86] Dejong 86] Harmelen 88] Cazenave 96c] As well as the classical operations on logic programs that enable Introspect to generate rules for the OR nodes, Introspect also uses metaprograms, which are specific to games, to generate rules about ....
Barklund 1994, Metaprogramming in Logic, UPMAIL Technical Report 80, Uppsala, Sweden, 1994.
....meta interpreter capable of dealing with compositions of programs to our techniques, showing we equal or surpass results obtained through a more ad hoc approach. 1 Introduction Writing meta interpreters is a well known technique to enhance the expressive power of logic programs (see e.g. [32, 1, 12]) However, the resulting interpretation overhead considerably slows down program execution [2] A natural approach to solving this efficiency problem consists in specialising the interpreter with respect to a given object program [9, 33, 28] thus removing the overhead by performing all ....
J. Barklund. Metaprogramming in logic. In A. Kent and J.G. Williams, editors, Encyclopedia of Computer Science and Technology, Vol. 33, pages 205--227. Marcell Dekker, Inc., New York, 1995.
....as very promising, at least for some applications. Another interesting direction for future work is the study of more sophisticated strategies of global (and local) control for specialising our meta interpreters. A further (even more) promising direction is to introduce reflection mechanisms [1, 11, 25] in order to integrate meta level and object level computations in the specialised programs. This would allow considerable speed ups even when the specialised program cannot be directly converted into an equivalent object level program. Acknowledgements We would like to thank the anonymous ....
J. Barklund. Metaprogramming in Logic. In A. Kent and J.G. Williams, editors, Encyclopedia of Computer Science and Technology, pages 205--227. Marcel Dekker, 1995.
....level. Subsequently, we use this technique to specialise an extended meta interpreter, dealing with compositions of logic programs, and obtain satisfying results. 1 Introduction Writing meta interpreters is a well known technique to enhance the expressive power of logic programs (see e.g. [36, 1, 18]) However, the resulting interpretation overhead considerably slows down program execution [4] A natural approach to solving this efficiency problem consists in specialising the interpreter with respect to a given object program [12, 37, 32] thus removing the overhead. Fully achieving the ....
J. Barklund. Metaprogramming in logic. In A. Kent and J.G. Williams, editors, Encyclopedia of Computer Science and Technology. Marcell Dekker, Inc., New York. To Appear.
....the meta program, specializing it for the particular object program it is reasoning about. This chapter, which concentrates on these aspects of meta programming, is not intended to be a survey of the field. A more complete survey of metaprogramming for logic programming can be found in (Barklund 1994). Many issues in meta programming have their roots in problems in logic which have been studied for several decades. This chapter emphasizes meta programming solutions, and is not intended to give a full treatment of the underlying logical problems, though we try to indicate some connections to ....
Barklund, J. (1994), Metaprogramming in logic, Technical Report UPMAIL Technical Report 80, Department of Computer Science, University of Uppsala, Sweden. to be published in Encyclopedia of Computer Science and Technology, A. Kent and J.G. Williams (eds.), Marcell Dekker, New York, 1994/5.
....then this methods has been used in logics and meta mathematics to treat theories and proofs as formal objects and to prove properties about them. In computer science, especially in the area of logic programming, the encoding of programs has been studied under various names, e.g. naming relation [28,3]. Representing and reasoning about object level theories is an important field in logic and artificial intelligence (e.g. different encodings have been discussed in [12] and has led to the development of logic languages that support declarative metaprogramming (e.g. the programming language Godel ....
Jonas Barklund. Metaprogramming in logic. Technical Report 80, Uppsala University, Dept. of Computing Science, 1994.
.... move leads to an unknown state (state U) whereas a Black move leads to a lost state for White (a lost state L for White is a winning state W for Black: White loses if Black is connected in our example) 4 THE INTROSPECT LANGUAGE Metaprogramming in logic has already attracted some interest [14] [2] [9] More specifically, specialization of logic program can be traced back to [18] it has been well defined and related to Partial Evaluation in [11] and successfully applied [8] Introspect [4] is a metaprogramming system based on predicate logic. On the contrary of Prolog programs, The ....
Barklund J. 1994. Metaprogramming in Logic. UPMAIL Technical Report N° 80, Uppsala, Sweden, 1994.
....often leads to a combinatorial explosion in the application of the algorithm. Introspect [Cazenave 1996] is a system that transforms a concise but inefficient declarative logic program into an efficient one by unfolding the goals specified by the programmer. It uses domain specific metaprograms [Barklund 1994] [Hill and Lloyd 1994] to control unfolding and to rewrite object programs. Metaprograms are also logic programs that use some built in metapredicates. Introspect has been used to partially evaluate some goals of the game of Go, the most complex two person complete information game. It uses the ....
Barklund, J. 1994. Metaprogramming in logic. Technical Report 80, UPMAIL, University of Uppsala, Sweden.
....updates to the extensional database are considered. This is for instance the case for the approach by Wallace in [46] A meta program is a program which takes another program, the object program, as input and manipulates it in some way. Some of the applications of meta programming are (see e.g. [20, 1]) extending the programming language, debugging, program analysis, program transformation and of course specialised integrity checking. In the latter case, the object program is the (relevant) part of the database or program. In the late 80 s, the idea was proposed that partial deduction could be ....
....for the ground representation in a high level style (not unlike Resolve=7 of [18, 17, 2] For instance, it is very easy to write a vanilla meta interpreter as the following code shows. If P is the usual append program then this meta interpreter can be called with solve( P ; append([1]; 2] X) X ] Res) yielding the computed answer fRes= 1; 2] g. Vanilla solve with env unify solve(P rog; Env; Env) solve(P rog; AtomjRest] InEnv; OutEnv) member(clause(Head; Body) P rog) env unify (Atom; Head; InEnv; Rest] InEnv1; Rest1] Body; Body1) solve(P rog; ....
J. Barklund. Metaprogramming in logic. In A. Kent and J. Williams, editors, Encyclopedia of Computer Science and Technology. Marcell Dekker, Inc., New York. To Appear.
....in software engineering to make programs more easy to maintain and reuse, Supported by a specialisation grant of the Flemish Institute for the Promotion of ScientificTechnological Research in Industry (IWT) Belgium. and meta programs, which are programs interpreting other (object) programs [1, 6, 15]. Most of the time, the user is not interested in the object programs themselves, but in the result of their computations. In spite of the advantages offered by the use of such structures, they have the disadvantage of slowing down program execution quite a lot. Automatic program specialisation ....
J. Barklund. Metaprogramming in logic. In A. Kent and J.G. Williams, editors, Encyclopedia of Computer Science and Technology, Vol. 33, pages 205--227. Marcell Dekker, Inc., New York, 1995.
....the representation of substitutions is hidden at the meta level. The results reported in [23] indicate such a representation as very promising, at least for some applications. Another interesting direction for future work is to introduce reflection mechanisms, as for instance those studied in [1, 11, 22], in order to integrate meta level and object level derivations in the specialised programs. This could allow us to further improve the speed up even when the specialised program cannot be directly converted into an equivalent object level program. Acknowledgements This work has been partly ....
J. Barklund. Metaprogramming in Logic. Technical report, Uppsala University, 1994.
....are considered. This is for instance the case for the approach by Wallace in [31] A meta program is a program which takes another program, the object program, as input and manipulates it in some way. Some of the applications of meta programming are (much more detailed accounts can be found in [14, 1]) extending the programming language, debugging, program analysis, program transformation and of course specialised integrity checking. In the latter case, the object program is the (relevant) part of the database or program and the meta program performs specialised integrity checking. In the ....
....and basically only one predicate, env unify =6, has to be understood to do meta programming. For instance, it is very easy to write a vanilla meta interpreter as the following code shows. If P is the usual append program then this meta interpreter can be called with solve( P ; append([1]; 2] X) X ] Res) yielding the computed answer fRes= 1; 2] g. Vanilla solve=4 with env unify solve(P rog; Env; Env) solve(P rog; AtomjRest] InEnv; OutEnv) member(clause(Head; Body) P rog) env unify (Atom; Head; InEnv; Rest] InEnv1; Rest1] Body; Body1) solve(P ....
J. Barklund. Metaprogramming in logic. In A. Kent and J. Williams, editors, Encyclopedia of Computer Science and Technology. Marcell Dekker, Inc., New York. To Appear.
....been considered in many branches of logic and computer science, and more recently in their intersection area named computational logic or logic programming. Their importance and usefulness in logic [55, 56] and in theorem proving [38] in computer science [30, 51, 60] and in logic programming [7, 40, 47] has been generally recognised (see also [1, 11, 13, 32, 57] for snapshots of research) The common intuitive notion of reflection in such different areas is that of an access relationship between theories or programs at the object level and theories or programs at the metalevel. The object level ....
J. Barklund. Metaprogramming in logic. In A. Kent and J. G. Williams, editors, Encyclopedia of Computer Science and Technology, volume 33, pages 205--227. M. Dekker, New York, 1995.
No context found.
Barklund, J. (1995). Metaprogramming in logic. Encyclopedia of Computer Science and Technology 33, 205--227.
No context found.
J. Barklund. Metaprogramming in logic. In A. Kent and J. Williams, editors, Encyclopedia of Computer Science and Technology. Marcell Dekker, Inc., New York. To Appear.
No context found.
Barklund, J.: Metaprogramming in logic. In Kent, A., Williams, J.G., eds.: Encyclopedia of Computer Science and Technology. Volume 33. M. Dekker, New York (1995) 205--227
No context found.
Barklund, J., Metaprogramming in Logic. In: Encyclopedia of Computer Science and Technology, Vol. 33 (eds. A. Kent and J. G. Williams), pp. 205--227, Marcel Dekker, New York, 1995.
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