• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Metaprogramming in logic (1994)

by Jonas Barklund
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 11
Next 10 →

Meta-Programming in Logic Programming

by P.M. Hill, J.G. Gallagher, P. M. Hill, J. Gallagher - Handbook of Logic in Artificial Intelligence and Logic Programming , 1994
"... data types are facilitated in Godel by its type and module systems. Thus, in order to describe the meta-programming facilities of Godel, a brief account of these systems is given. Each constant, function, predicate, and proposition in a Godel program must be specified by a language declaration. The ..."
Abstract - Cited by 43 (3 self) - Add to MetaCart
data types are facilitated in Godel by its type and module systems. Thus, in order to describe the meta-programming facilities of Godel, a brief account of these systems is given. Each constant, function, predicate, and proposition in a Godel program must be specified by a language declaration. The type of a variable is not declared but inferred from its context within a particular program statement. To illustrate the type system, we give the language declarations that would be required for the program in Figure 1. BASE Name. CONSTANT Tom, Jerry : Name. PREDICATE Chase : Name * Name; Cat, Mouse : Name. Note that the declaration beginning BASE indicates that Name is a base type. In the statement Chase(x,y) !- Cat(x) & Mouse(y). the variables x and y are inferred to be of type Name. Polymorphic types can also be defined in Godel. They are constructed from the base types, type variables called parameters, and type constructors. Each constructor has an arity 1 attached to it. As an...

Partial Deduction of the Ground Representation and its Application to Integrity Checking

by Michael Leuschel, Bern Martens - Proceedings of ILPS'95, the International Logic Programming Symposium , 1995
"... Integrity constraints are very useful in many contexts, such as, for example, deductive databases, abductive and inductive logic programming. However, fully testing the integrity constraints after each update or modification can be very expensive and methods have been developed which simplify the in ..."
Abstract - Cited by 19 (12 self) - Add to MetaCart
Integrity constraints are very useful in many contexts, such as, for example, deductive databases, abductive and inductive logic programming. However, fully testing the integrity constraints after each update or modification can be very expensive and methods have been developed which simplify the integrity constraints. In this paper, we pursue the goal of writing this simplification procedure as a meta-program in logic programming and then using partial deduction to obtain pre-compiled integrity checks for certain update patterns. We argue that the ground representation has to be used to write this metaprogram declaratively. We however also show that, contrary to what one might expect, current partial deduction techniques are then unable to specialise this meta-interpreter in an interesting way and no pre-compilation of integrity checks can be obtained. In fact, we show that partial deduction (alone) is not able to perform any (sophisticated) specialisation at the object-level for meta...

To Parse or Not To Parse

by Wim Vanhoof, Bern Martens - Logic Program Synthesis and Transformation. Proceedings of LOPSTR’97, LNCS 1463 , 1997
"... . In this paper, we reconsider the problem of specialising the vanilla meta interpreter through fully automatic and completely general partial deduction techniques. In particular, we study how the homeomorphic embedding relation guides specialisation of the interpreter. We focus on the so-called ..."
Abstract - Cited by 17 (6 self) - Add to MetaCart
. In this paper, we reconsider the problem of specialising the vanilla meta interpreter through fully automatic and completely general partial deduction techniques. In particular, we study how the homeomorphic embedding relation guides specialisation of the interpreter. We focus on the so-called parsing problem, i.e. removing all parsing overhead from the program, and demonstrate that further refinements in the control of general partial deduction are necessary to properly deal with it. In particular, we modify local control on the basis of information imported from the global level. The resulting control strategy, while remaining fully general, leads to excellent specialisation of vanilla like meta programs. Parsing is always specialised, but -- appropriately, as we will show -- not always completely removed. As a concrete application, we subject an extended vanilla 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

Meta-reasoning: a Survey

by Stefania Costantini - Computational Logic: Logic Programming and Beyond – Essays in Honour of Robert A. Kowalski (LNAI Volumes 2408 , 2002
"... We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevat succ ..."
Abstract - Cited by 9 (2 self) - Add to MetaCart
We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevat successful...

Bottom Up Information Propagation for Partial Deduction (Extended Abstract)

by Wim Vanhoof - Proceedings of the International Workshop on Specialization of Declarative Programs and its Applications , 1997
"... ) Wim Vanhoof Departement Computerwetenschappen Katholieke Universiteit Leuven Celestijnenlaan 200A, B-3001 Heverlee, Belgium e-mail: wimvh@cs.kuleuven.ac.be Tel: +32 16 327638, Fax: +32 16 327996 Abstract Traditional top down specialisation techniques are not optimal to specialise programs cont ..."
Abstract - Cited by 7 (3 self) - Add to MetaCart
) Wim Vanhoof Departement Computerwetenschappen Katholieke Universiteit Leuven Celestijnenlaan 200A, B-3001 Heverlee, Belgium e-mail: wimvh@cs.kuleuven.ac.be Tel: +32 16 327638, Fax: +32 16 327996 Abstract Traditional top down specialisation techniques are not optimal to specialise programs containing a lot of internal structure handling, such as programs containing abstract data types or meta programs. In this abstract, we discuss the difficulties top down specialisers have when specialising these kinds of programs. The difficulties arise from the fact that unfolding works in a top down way, whereas some information flows in a bottom up way. Therefore, top down techniques must be able to unfold deeply enough to reach the necessary information, and subsequently be able to keep it during specialisation. We therefore propose a program transformation phase, targeted to be interleaved with a completely general and fully automatic top down partial deduction scheme, which consists of pro...

Metaprogramming Forced Moves

by Tristan Cazenave - Proceedings of the 13th European Conference on Artificial Intelligence (ECAI'98 , 1998
"... . Knowledge about forced moves enables to select a small number of moves from the set of possible moves. It is very important in complex domains where search trees have a large branching factor. Knowing forced moves drastically cuts the search trees. We propose a language and a metaprogram to create ..."
Abstract - Cited by 7 (4 self) - Add to MetaCart
. Knowledge about forced moves enables to select a small number of moves from the set of possible moves. It is very important in complex domains where search trees have a large branching factor. Knowing forced moves drastically cuts the search trees. We propose a language and a metaprogram to create automatically the knowledge about interesting and forced moves, only given the rules about the direct effects of the moves. We describe the successful application of this metaprogram to the game of Go. It creates rules that give complete sets of forced moves. 1 INTRODUCTION Knowledge about forced moves enables to select a small number of moves from the set of possible moves. It is very important in complex domains where search trees have a large branching factor. Knowing forced moves drastically cuts the search trees. We propose a language and a metaprogram to create automatically the knowledge about interesting and forced moves, only given the rules about the direct effects of the moves. ...

Effective Meta-programming in Declarative Languages

by Antony Francis Bowers , 1998
"... Declarative meta-programming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
Declarative meta-programming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a logic that has a model theory. A meta-program operates on a representation of an object...

Metaprogramming Domain Specific Metaprograms

by Tristan Cazenave , 1999
"... . When a metaprogram automatically creates rules, some created rules are useless because they can never apply. Some metarules, that we call impossibility metarules, are used to remove useless rules. Some of these metarules are general and apply to any generated program. Some are domain specific ..."
Abstract - Cited by 2 (1 self) - Add to MetaCart
. When a metaprogram automatically creates rules, some created rules are useless because they can never apply. Some metarules, that we call impossibility metarules, are used to remove useless rules. Some of these metarules are general and apply to any generated program. Some are domain specific metarules. In this paper, we show how dynamic metaprogramming can be used to create domain specific impossibility metarules. Applying metaprogramming to impossibility metaprogramming avoids writing specific metaprogram for each domain metaprogramming is applied to. Our metametaprograms have been used to write metaprograms that write search rules for different games and planning domains. They write programs that write selective and efficient search programs. 1 Introduction Knowledge about the moves to try enables to select a small number of moves from a possibly large set of possible moves. It is very important in complex games and planning domains where search trees have a large bran...

A Program Specialiser for Meta-level Compositions of Logic Programs

by Antonio Brogi, Simone Contiero , 1996
"... Meta-level compositions of object logic programs are naturally implemented by means of meta-programming techniques. Meta-interpreters defining program compositions however suffer from a computational overhead that is due partly to the interpretation layer present in all meta-programs, and partly ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
Meta-level compositions of object logic programs are naturally implemented by means of meta-programming techniques. Meta-interpreters defining program compositions however suffer from a computational overhead that is due partly to the interpretation layer present in all meta-programs, and partly to the specific interpretation layer needed to deal with program compositions. We show that meta-interpreters implementing compositions of object programs can be fruitfully specialised w.r.t. meta-level queries of the form Demo(E,G), where E denotes a program expression and G denotes a (partially instantiated) object level query. More precisely, we describe the design and implementation of a declarative program specialiser that suitably transforms such meta-interpreters so as to sensibly reduce --- if not to completely remove --- the overhead due to the handling of program compositions. In many cases the specialiser succeeds in eliminating also the overhead due to meta-interpretation...

Reasoning about Hierarchies of Online Program Specialization Systems

by John Hatcliff, Robert Glück - In Danvy et
"... . We present the language S-Graph-n --- the core of a multilevel metaprogramming environment for exploring foundational issues of self-applicable online program specialization. We illustrate how special-purpose S-Graph-n primitives can be used to obtain an efficient and conceptually simple encoding ..."
Abstract - Cited by 1 (1 self) - Add to MetaCart
. We present the language S-Graph-n --- the core of a multilevel metaprogramming environment for exploring foundational issues of self-applicable online program specialization. We illustrate how special-purpose S-Graph-n primitives can be used to obtain an efficient and conceptually simple encoding of programs as data objects. The key feature of the encoding scheme is the use of numerical indices which indicate the number of times that a program piece has been encoded. Evaluation of S-Graph-n is formalized via an operational semantics. This semantics is used to justify the fundamental operations on metavariables --- special-purpose tags for tracking unknown values in self-applicable online specialization systems. We show how metavariables can be used to construct biased generating extensions without relying on a separate binding-time analysis phase. 1 Introduction Metasystem hierarchies have been used for more than a decade to generate compilers and other program generators. A metasy...
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University