• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/usr/eclipseclp/documents/userman/

Lines Matching defs:of

4 % The contents of this file are subject to the Cisco-style Mozilla Public
6 % in compliance with the License. You may obtain a copy of the License
15 % The Initial Developer of the Original Code is Cisco Systems, Inc.
39 a meta-program the same variable is just a piece of data which, possibly
42 The attributed variable is a powerful means to implement various extensions of
53 \item an attributed variable has a number of associated \emph{attributes};
61 An attributed variable can have any number of attributes.
71 and usually it is the name of the module where this attribute
73 \about{HandlerList} is a (possibly empty) list of handler specifications
87 where the syntax of \about{Var} is like that of a variable,
91 are the values of the corresponding attributes.
103 all occurrences of an attributed variable in the source module may use the
107 If there are several occurrences of the same attributed variable in a single
123 both describe the same term, which has two occurrences of a single attributed
151 it will be bound to \about{Attr}, otherwise the effect of this predicate
157 The attributes of an attributed variable can be accessed using one-way
169 whose name is the instantiation of \about{Name}.
182 of values has to be dereferenced until a value is found whose
196 argument of \about{Term} to be \about{NewArg}.
198 %Although the use of this predicate does not corrupt the
199 %declarative reading of the program (it is merely
206 modify the attribute or a part of it, so that an explicit
207 use of the \bipref{setarg/3}{../bips/kernel/termmanip/setarg-3.html} predicate
216 the contents of their attributes and can specify the outcome
217 of each operation.
221 whenever an attributed variable occurs in one of the predefined
226 is a list of handlers in the form
238 Whenever one of the specified operations detects an attributed variable,
240 and each of them receives either the whole attributed variable
249 treat this as binding of two plain variables
268 The second argument is the contents of the attribute slot
272 The optional third argument is the suspend-attribute of the former
280 be updated to reflect the intersection of the two individual attributes.
281 In case of success, suspension lists inside the attributes may need to
293 during the unification of two compound terms.
310 unification with \about{Term} (not considering effects of woken goals).
311 During the execution of the handler, the attributed variable may be bound
316 computation of instance, subsumption
325 and its arguments are similar to the ones of the
328 The handler is invoked with one or both of \about{TermL} and \about{TermR} being
329 attributed variables. The task of the handler is to examine the two terms,
333 \notation{<} iff \about{TermL} is a proper instance of TermR, or \notation{>}
334 iff \about{TermR} is a proper instance of \about{TermL}) with respect to
338 Even though one of \about{TermL} and \about{TermR} is guaranteed to be
341 correctly deal with all combinations of an attributed (but potentially
385 term, \about{Number} is the number of delayed
388 i.e., it should return the number of constraints imposed on
394 to retrieve information about the lower and upper bound of a numeric
397 that kind of information. The handler call pattern is
406 and upper bound of the variable, respectively.
409 will return the intersection of these bounds. This can be empty
415 to distribute information about the lower and upper bound of a numeric
418 incorporate this kind of information. The handler call pattern is
484 term, \about{GoalList} is an open-ended list of all delayed
486 tail of this list.
557 \section{Examples of Using Attributed Variables}
559 As an example, let us implement variables of enumerable types
582 bound to another attributed variable (1st clause of \predspec{unify_enum/2}).
584 of admissible values. If it is empty, we fail.
593 was admissible (second clause of \predspec{unify_enum/2}).
667 The second clause of \predspec{unify_term_enum/2}
681 This makes the code independent of the number of attributes
682 and positions of their arguments.