26 citations found. Retrieving documents...
U. Neumerkel. Extensible Unification by Metastructures. In Proceeding of the META'90 workshop, 1990.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Heap Memory Management in Prolog with Tabling: Principles and .. - Demoen, Sagonas   (Correct)

....benefits and the extra execution speed due to faster dereferencing is negligible in most programs because most variable chains are short. On the other hand, variable shunting is considered as potentially very important in implementations that support attributed variables or mutable terms [LH90, Neu90] For example, variable shunting can straightforwardly reclaim the space occupied by the attribute part of an attributed variable when that variable is shunted; see also [BRU92, Sections 4 5] However, to the best of our knowledge, this conventional wisdom has so far not been experimentally ....

Ulrich Neumerkel. Extensible unification by metastructures. In Maurice Bruynooghe, editor, Proceedings of the Second Workshop on Meta-programming in Logic, pages 352--363, April 1990.


Metaterms with Several Attributes - Brisset (1993)   (2 citations)  (Correct)

.... with Several Attributes Pascal Brisset ECRC Arabellastrae 17, D 81925 Munich 81, Germany brisset ecrc.de Abstract Metastructures and metaterms have been proposed to extend Prolog systems [6, 5]. They enable special purpose unifications to be specified. They are useful to implement for example coroutining and new domains of computation. In both cases, information is attached to variables, which then are encoded with metaterms or metastructures. This information must be taken into account ....

....extension of the domain of computation. In the former case, the implementation of freeze 2, the unification has to wake some goals. In the latter case, for example the implementation of finite domains, unification has to solve the equations which define the equality in the new domain. Neumerkel [6] proposes metafunctors which are used to construct metastructures. Then, unification of metastructures is handled by a user defined predicate. Meier [5] proposes another solution he called metaterms. In this solution, it is possible to attach a term to one variable. When a variable with an ....

[Article contains additional citation context not shown here]

U. Neumerkel. Extensible unification by metastructures. In M. Bruynooghe, editor, 2nd Workshop on Meta-Programming in Logic Programming, pages 352--363, Leuven, Belgium, 1990. K.U. Leuven, Dept. of Computer Science. 6


Compiling Constraint Handling Rules - Holzbaur, Frühwirth (1998)   (3 citations)  (Correct)

....in clp(FD) CoDi93] allow to implement constraints over finite domains at a medium level of abstraction. The work was performed while visiting CWG at LMU with financial support from DFG. y Constraint Working Group at Ludwig Maximilians University 1 ffl Meta and attributed variables [Neu90, Hui90, Hol92] allow to attach constraints to variables at a low level of abstraction. It should be noted that all the approaches but the last can only extend a solver over a given, specific constraint domain, typically finite domains. Other (applicationsspecific) constraint domains can only be implemented ....

U. Neumerkel, Extensible unification by metastructures, In Proc. of Metaprogramming in Logic (META'90), Leuven, Belgium, 1990.


An Architecture for Prolog Extensions - Meier, Schimpf (1995)   (15 citations)  (Correct)

....: lastelement(Min, R, Max) lastelement(Max, Max) lastelement( E R] Max) lastelement(E, R, Max) Print the variable together with its attribute. portray(Stream, Var) meta(Var) metaterm(Var, Domain) printf(Stream, w Pw , Var, Domain] Example: eclipse 2] X in [1,10], Y in [5,15] X=Y. X = New [5, 6, 7, 8, 9, 10] Y = New [5, 6, 7, 8, 9, 10] yes. eclipse 3] X in [1, 6] X in [6, 8] X = 6 yes. The next example adds to the functionality of the previous one the inequality constraint over integers. The inequality must be delayed until one argument is ground ....

....[ Max) lastelement( E R] Max) lastelement(E, R, Max) Print the variable together with its attribute. portray(Stream, Var) meta(Var) metaterm(Var, Domain) printf(Stream, w Pw , Var, Domain] Example: eclipse 2] X in [1,10] Y in [5,15] X=Y. X = New [5, 6, 7, 8, 9, 10] Y = New [5, 6, 7, 8, 9, 10] yes. eclipse 3] X in [1, 6] X in [6, 8] X = 6 yes. The next example adds to the functionality of the previous one the inequality constraint over integers. The inequality must be delayed until one argument is ground as no pruning can be done before this, but then ....

[Article contains additional citation context not shown here]

Ulrich Neumerkel. Extensible unification by metastructures. In Proceedings of META'90, 1990.


Open Architecture for CLP - Meier, Brisset (1995)   (6 citations)  (Correct)

....mechanism. Section 4 summarises the properties of our architecture. In Section 5 we describe a sample implementation of CLP(FD) in Section 6 we compare our design to other systems and we discuss its impact in Section 7. 2 2 Metaterms 2. 1 Definition and Syntax A metaterm (attributed variable) [22, 14, 13, 20] is a free Prolog variable X with an associated attribute A, which may be any Prolog term. Its simplest syntax is XfAg. Our design is aimed mainly at independent extensions, we have adopted a scheme with multiple attributes [4] and we have furthermore imposed module visibility rules on the ....

....[19] we have started to develop a glass box , i.e. an open architecture for extensions. Similarly to MALI [14] SEPIA contains attributed variables, but only hardcoded at the system level, they cannot be used explicitly in Prolog and no handlers for their unification are available. Neumerkel [22] defines metastructures and Holzbaur [13] uses them for a CLP implementation. Their approach uses many different metastructure types and only one handler for the unification, whose size thus grows exponentially (e.g. 120 clauses for 4 basic metaterm types) Each time a new kind of metastructure is ....

Ulrich Neumerkel. Extensible unification by metastructures. In Proceedings of META'90, 1990.


Control in ECLiPSe - Meier, Schimpf (1995)   (Correct)

....Syntax An ECL i PS e attributed variable can contain a number of different attributes which are subject to module visibility. It is written as XfMod 1 : Attr 1 ; Mod 2 : Attr 2 ; g 1 We used to call this data type metaterm because of its obvious functional similarity with metastructures [24]. This name, admittedly, has caused much confusion and this is why we have returned to the more precise term attributed variable. 7 where every Mod i is a module name and Attr i is the value of the corresponding attribute. The expression VarfAttrg is a shorthand for VarfCurMod:Attrg where ....

....[9] and so from the user s point of view, there are no unnecessary restrictions. The user, however, may want to redefine some of the built in operations to handle the attributed variables in a special way. This effect can be achieved with user defined attribute handlers. It has been noted in [24, 20, 14] that metastructures or attributed variables can be used to achieve extensible unification. In ECL i PS e , this concept is generalised to other built in operations like e.g. unifiability test, instance test or term copying. In these primitives, attributed variables are treated in a special ....

[Article contains additional citation context not shown here]

Ulrich Neumerkel. Extensible unification by metastructures. In Proceedings of META'90, 1990.


The CIAO Multi-Dialect Compiler and System: An.. - Hermenegildo.. (1995)   (7 citations)  (Correct)

.... CC models, and thus builds strongly on the parallelism and concurrency capabilities of the PWAM Prolog abstract machine [Her86, HG91] and recent work on extending its capabilities and efficiency [PGT 96] The abstract machine includes native support for attributed variables [Hol92, Hui90, Neu90] Hol92] which are used in the implementation of constraint solvers (as in other systems such as Eclipse [Eur93] and SICStus 3 [Swe95] and in supporting communication among concurrent tasks [HCC95] While the current abstract 5 Source Program CIAO Kernel Output Parallelization Analysis ....

U. Neumerkel. Extensible Unification by Metastructures. In Proceeding of the META'90 workshop, 1990.


Constraintpropagation in Qualitative Modelling: Domain.. - Pfahringer (1990)   (Correct)

....exhibiting similar properties. The relatively small domains and their quick reduction to atomic values eliminates the need for special purpose builtin representation and handling of domains, like what is provided in CHIP [3] If mechanisms for extending unification as proposed by [4] or [7] find their way into commercial systems, the more elegant approach of section 3 will possibly be more efficient, too. But till then, our preprocessing way of amalgating PROLOG and domain variables is better off for applications like the KARDIO system. 6 Acknowledgements I am indebted to Igor ....

Neumerkel U.: Extensible Unification by Metastructures, Proc. META90, 1990.


Attributed Equivalence Classes in Prolog Implementations of CLP.. - Holzbaur (1992)   (Correct)

....properties is a free variable, which will eventually be bound to another structure, obeying the same convention. Therefore, sequences of modifications lead to chains of structures. The current value of an object is to be found at the end of the chain. This idea carries over to metastructures [Neumerkel 90] and attributed variables [Hoitouze 90] two data types that aim at the extension of logic programming languages. Metastructures are ordinary, non variable Prolog terms with the sole difference that they can be detected as members of this special sort. The behavior of metastructures during ....

Neumerkel U.: Extensible Unification by Metastructures, Proc. META90, 1990.


Metastructures vs. Attributed Variables in the Context of.. - Holzbaur   (Correct)

....Introduction As a serious user of two rather similar mechanisms as far as their applications are concerned we think that it is useful to expose this similarity in some detail. Both mechanisms provide means for the extension of logic programming languages. Metastructures as introduced by [Neumerkel 90] aim at extensions to Prolog s builtin unification through user defined behavior of metastructures during unification. A refined version of the concept of metastructures was used in [Holzbaur 90] for the specification and implementation of a variety of instances of the general CLP scheme ....

....data type, led to this comparison. 2 Metastructures Metastructures are ordinary, non variable Prolog terms with the sole difference that they can be detected as members of this special sort. Metastructures are introduced by a declaration : meta functor N A, where N A denotes any functor. In [Neumerkel 90] metastructures are restricted to be of the form meta N, N 0, which prevents the declaration of e.g. the usual arithmetic functors 2, 2: as being meta which is a disadvantage if we are about to implement CLP( via metastructures. Simple source transformations from arbitrary ....

[Article contains additional citation context not shown here]

Neumerkel U.: Extensible Unification by Metastructures, Proc. META90, 1990.


CLP(gRel): Explicit Manipulation of (ground) Relational.. - Bernhard Pfahringer   (Correct)

....unify(X, X) Unification being such a basic operation in a logic programming environment, it cannot be delegated to a meta interpreter when expecting reasonable efficiency. Some experimental Prolog systems already support user defined extensions to unification either by means of meta structures [10], 7] or by attaching attributes to variables [8] None is comparable to an industrial strength Prolog system. But fortunately we were able to use a modified version of Sicstus Prolog [2] for implementing our experiments. This version of Sicstus Prolog allows for the specification and management ....

Neumerkel U.: Extensible Unification by Metastructures, Proc. META90, 1990.


Using Attributed Variables in the Implementation of.. - Hermenegildo, Cabeza.. (1995)   (2 citations)  (Correct)

....Variables, Generic Implementations. 1 Introduction A number of concepts and implementation techniques have been recently introduced which allow extending unification in logic languages in a flexible and user accessible way. One example is that of meta structures, introduced by Neumerkel [22], which allow the specification by the user of how unification should behave when certain types of terms, called meta structures and marked as such by the user, are accessed during unification. More or less at the same time, the data type attributed variable was introduced by Le Houitouze [18] ....

U. Neumerkel. Extensible Unification by Metastructures. In Proceeding of the META'90 workshop, 1990.


Dynamic Memory Management for Sequential Logic Programming .. - Bekkers, Ridoux, Ungaro (1992)   (27 citations)  (Correct)

....extensions into Prolog. An attributed variable is like a variable with an extra term attached to it, its attribute. Attributed variables have been generalized in [38] under the name of mutable terms (in short muterms) A Prolog level variant, called meta structure, has also been proposed in [36] to provide a Prolog system with a user extendible unification procedure. From the point of view of memory management, the property of this binary structure is that the attribute is only accessible when the variable is free. This property must be used to improve the completeness of the garbage ....

U. Neumerkel. Extensible unification by metastructures. In Meta-Programming in Logic Programming, pages 352--363, Leuven, Belgium, 1990.


A CLP Schema to Integrate Specialized Solvers and its.. - Pfahringer, Matiasek   (Correct)

....[16] proposes the following way of extending unification. Any failed unification triggers an attempt to prove the equality of the terms using some defined equality theory. But [8] shows that this approach is unsound, incomplete, and unnecessarily inefficient. ffl Metaterms [13] and Metastructures [21] are both aimed at overcoming some of the problems with E Unification. Since both approaches are very similar, we will restrain our discussion to metaterms. Metaterms are introduced as an additional data type into the respective Prolog system in addition to logical variables, constants, and terms. ....

Neumerkel U.: Extensible Unification by Metastructures, Proc. META90, 1990.


The CIAO Multi-Dialect Compiler and System: An.. - Hermenegildo.. (1995)   (7 citations)  (Correct)

.... machine is based on the parallelism and concurrency capabilities of the PWAM Prolog abstract machine [Her86, HG91] and recent work on extending its capabilities and efficiency [PGT95a, PGH95, PGT 95b] The abstract machine includes native support for attributed variables [Hol92, Hui90, Neu90] which are used extensively in the implementation of constraint solvers (as in other systems such as Eclipse [Eur93] and SICStus 3 [Swe95] and in supporting communication among concurrent tasks [HCC95] While the current abstract machine supports only ( dependent and independent ) ....

U. Neumerkel. Extensible Unification by Metastructures. In Proceeding of the META'90 workshop, 1990.


Constructive Negation in CLP(H) - Bartak   (Correct)

....this work. To justify our approach, we have implemented the ideas from this paper in two software prototypes. First implementation is based on the idea of extendible meta interpreters which we proposed in our previous papers [2,3,4,5] Second implementation utilizes the concept of meta variables [20] which extends Prolog s built in unification by user definitions. In the present paper, we will use notions like substitution and unification in an obvious meaning [15] The paper is organized as follows. In Section 2 we give motivation of this work. Section 3 is dedicated to the construction of ....

....The advantage of using meta intepreters to change the standard behaviour of Prolog is that the original program and goal need not be changed. The main disadvantage of meta intepreters is the slow down of the computation. The second implementation utilizes the concept of meta variables [20] and open architecture of Prolog [17,18,19] Meta variables are a way to extend Prolog s built in unification by user definitions. First, we implemented a library that can be attached to arbitrary Prolog program to add functionality of meta variables. Then, we redefined standard unification using ....

Neumerkel, U., Extensible Unification by Metastructures, in: Proceedings of META90, 1990


Constraint Programming - Group (1996)   (Correct)

....a constraint solver such as termination and confluence can be tackled independently of a particular constraint system. Yet another approach is to provide hooks in the parameter passing mechanism of the language (e.g. within unification, for CLP systems) through attributed variables or meta terms [103,66]. This approach is used extensively in the implementation of constraint solvers in systems such as ECL i PS e [32] SICStus, and CIAO [64] A last approach is motivated by the need for adding support for global constraints. In that case the definition of the constraint is done in an imperative ....

U. Neumerkel. Extensible Unification by Metastructures. In Proceeding of the META'90 workshop, 1990.


RISC-CLP(Tree(Delta)) - A Constraint Logic Programming System .. - Hong, Ratschan (1995)   (Correct)

....in ECLiPSe ( 10] 5] with the concept of metaterms, which can be looked at as a variable with (one or more) attached attributes. Metaterms behave in some respects like variables, but in most respects their behaviour is user definable (e.g. what happens with them on unification, etc. [20], 19] and [11] By this method one can integrate constraint solvers into a logic programming system. The drawback of this method is that one is still restricted to PROLOG syntax (including constants) Furthermore the concept is very general and provides no clear interface designed especially for ....

U. Neumerkel. Extensible unification by metastructures. In META90, 1990.


CHIC - Final Technical Report - (Ed.) (1995)   (Correct)

....CLP(FD) or a list of equations which contain this variable in CLP(Q) ffl It is the main primitive that allows an elegant and flexible implementation of datadriven computation in Prolog. 9 We used to call this data type metaterm because of its obvious functional similarity with metastructures [28]. This name, admittedly, has caused much confusion and this is why we have returned to the more precise term attributed variable. D1.2 Version 1 ESPRIT CONSTRAINT HANDLING IN COMMERCIAL EP5291 INDUSTRY AND COMMERCE IN CONFIDENCE Various forms of attributed variables have been used in Prolog ....

....[33] and so from the user s point of view, there are no unnecessary restrictions. The user, however, may want to redefine some of the built in operations to handle the attributed variables in a special way. This effect can be achieved with user defined attribute handlers. It has been noted in [28, 34, 31] that metastructures or attributed variables can be used to achieve extensible unification. In ECL i PS e , this concept is generalised to other built in operations like e.g. unifiability test, instance test or term copying. In these primitives, attributed variables are treated in a special ....

Ulrich Neumerkel. Extensible unification by metastructures. In Proceedings of META'90, 1990.


Data-parallel Implementation of Prolog - Bevemyr (1996)   (Correct)

....as de evolutioned by Tick [194] since they have been significantly restricted to allow efficient implementation. Most of the AND parallel systems described above are implemented as extensions of WAM. Hermenegildo, Cabeza and Carro [97] recently proposed an elegant scheme where attributed variables [147, 120] are used for handling most of the support for parallelism. This technique makes it possible to model different forms of parallelism using the same runtime machinery, with some decrease in efficiency. Data OR parallelism Smith [182] described Multilog, a system utilising data OR parallelism. ....

U. Neumerkel, Extensible Unification by Metastructures, Proc. of META'90 workshop, 1990. --16


Constructive Negation and Constraints - Bartak (1998)   (Correct)

....modules. The advantage of using meta intepreters to change the standard behaviour of Prolog is that the original program and goal need not be changed. The main disadvantage of meta intepreters is the slow down of the computation. The second implementation utilizes the concept of meta variables [10] and open architecture of Prolog [9] Meta variables are a way to extend Prolog s built in unification by user definitions. First, we implemented a library that can be attached to arbitrary Prolog program to add functionality of meta variables. Then, we redefined standard unification using the ....

Neumerkel, U., Extensible Unification by Metastructures, in: Proceedings of META90, 1990


Join Evaluation Schemata for Constraint Handling Rules (CHR) - Holzbaur, Frühwirth (1998)   (Correct)

.... investigated before, be it translating GHC [UeCh85] implementations of delay declarations [Nai85] or the efficient implementation of QD Janus [Deb93] Today, we benefit from more powerful programming constructs, in particular customizable suspension mechanisms provided by attributed variables [Neu90, Hui90, Hol92]. The most recent implementation of CHR exists in the form of a SICStus Prolog library module [HoFr98a] Overview of this Paper We quickly recapture syntax and semantics of CHR. An brief outline of the compilation process follows. Then we concentrate on the evaluation of the condition part of CHR ....

U. Neumerkel, Extensible unification by metastructures, In Proc. of Metaprogramming in Logic (META'90), Leuven, Belgium, 1990.


Resolving Color Conflicts During Color Unification - Kusalik, Neufeld   (Correct)

....from the functor itself. 2.2 Achieving Color Tagging To implement color tagging and color unification, the usual implementation of Prolog is extended to allow each term (including atoms, complex terms, and variables) to have a color attribute. Color attributes are similar to meta terms [Neum90] that can be associated with variables in Prolog systems such as ECLiPSe [ECRC96] or SICStus Prolog [SICS96] However, meta terms are only associated with variables, whereas color attributes are associated with all types of terms, including ground ones. Further, a variable retains its color ....

U. Neumerkel, "Extensible unification by metastructures" in Proceedings of META-90, Leuven, Belgium, April 1990, pp. 352--364.


Backtrackable Updates - Noye   (Correct)

.... role (coroutining, rational unification, term unification) 9, 10] The implementation of coroutining in SICStus Prolog is based on the same kind of techniques [12] Variable substitution is also an integral part of extensible unification as provided by the generic interfaces of Neumerkel [25] and Holzbaur [18] Inspired by the implementation of MU Prolog [24] destructive assignment has been used in a number of systems developed at ECRC [22, 15, 26, 16] In particular, the time stamping scheme [1] developed in the context of the Constraint Logic Programming CHIP has been quite ....

....through a meta interpreter providing extensible unification. The meta interpreter is based on attributed variables, which, to our point of view, is the most straightforward way of implementing and reasoning about backtrackable updates. Alternative interfaces, i.e. Neumerkel s metastructures [25] and Holzbaur s (pseudo) attributed variables [18] are discussed with the help of an example. 2.1 What is an attributed variable An attributed variable can be seen as a variable with an attribute, which may be any term. The attribute refines the meaning of the attributed variable until the ....

[Article contains additional citation context not shown here]

U. Neumerkel. -- Extensible unification by metastructures. -- In M. Bruynooghe, editor, Proceedings of the 2nd Workshop on Meta-Programming in Logic Programming, pages 352-- 363. K.U. Leuven, Dept. of Computer Science, 1990.


Implementing Distributed Concurrent Constraint Execution.. - Cabeza, Hermenegildo (1996)   (3 citations)  (Correct)

No context found.

U. Neumerkel. Extensible Unification by Metastructures. In Proceeding of the META'90 workshop, 1990.


Realization of Forward Checking in Logic Programming via .. - Christian Holzbaur Email (1990)   (3 citations)  (Correct)

No context found.

Neumerkel U. (1990): Extensible Unification by Metastructures, Proc. META90.

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