Author(s): Daniel Cabeza, Manuel Hermenegildo.
Version: 1.11#222 (2004/5/24, 13:8:7 CEST)
Version of last change: 1.11#170 (2004/2/3, 21:41:49 CET)
This module provides basic term manipulation.
term_basic)term_basic)
Usage: X = Y
* ISO *
X and Y unify.
X=Y is side-effect free.
(basic_props:sideff/2)
This predicate is understood natively by CiaoPP.
(basic_props:native/1)
basic_props:eval(X=Y)
(basic_props:eval/1)
Usage: arg(ArgNo, Term, Arg)
* ISO *
ArgNo of the term Term is Arg.
ArgNo is currently a term which is not a free variable.
(term_typing:nonvar/1)
Term is currently a term which is not a free variable.
(term_typing:nonvar/1)
ArgNo is an integer.
(basic_props:int/1)
arg(ArgNo,Term,Arg) is side-effect free.
(basic_props:sideff/2)
This predicate is understood natively by CiaoPP.
(basic_props:native/1)
basic_props:eval(arg(ArgNo,Term,Arg))
(basic_props:eval/1)
Usage 1: functor(Term, Name, Arity)
* ISO *
Term has name Name and arity Arity.
Name is an atom.
(basic_props:atm/1)
Arity is a number.
(basic_props:num/1)
functor(Term,Name,Arity) is side-effect free.
(basic_props:sideff/2)
This predicate is understood natively by CiaoPP.
(basic_props:native/1)
Usage 2: functor(Term, Name, Arity)
Term is currently a term which is not a free variable.
(term_typing:nonvar/1)
basic_props:eval(functor(Term,Name,Arity))
(basic_props:eval/1)
Usage 3: functor(Term, Name, Arity)
Name is currently a term which is not a free variable.
(term_typing:nonvar/1)
Arity is currently a term which is not a free variable.
(term_typing:nonvar/1)
basic_props:eval(functor(Term,Name,Arity))
(basic_props:eval/1)
Usage 1: Term =.. List
* ISO *
Term comprise the list List.
List is a list.
(basic_props:list/1)
Term=..List is side-effect free.
(basic_props:sideff/2)
This predicate is understood natively by CiaoPP.
(basic_props:native/1)
Usage 2: Term =.. List
Term is currently a term which is not a free variable.
(term_typing:nonvar/1)
basic_props:eval(Term=..List)
(basic_props:eval/1)
Usage 3: Arg1 =.. List
List is a list.
(basic_props:list/1)
term_basic:atom_head(List)
(term_basic:atom_head/1)
basic_props:eval(Arg1=..List)
(basic_props:eval/1)
Usage: copy_term(Term, Copy)
* ISO *
Copy is a renaming of Term, such that brand new variables have been substituted for all variables in Term. If any of the variables of Term have
attributes, the copied variables will have copies of the attributes as well. It behaves as if defined by:
:- data 'copy of'/1.
copy_term(X, Y) :-
asserta_fact('copy of'(X)),
retract_fact('copy of'(Y)).
copy_term(Term,Copy) is side-effect free.
(basic_props:sideff/2)
This predicate is understood natively by CiaoPP.
(basic_props:native/1)
Usage: C(S1, Terminal, S2)
S1 is connected by the terminal Terminal to S2. Internally used in DCG grammar rules. Defined as if by the single clause: 'C'([X|S], X, S).
C(S1,Terminal,S2) is side-effect free.
(basic_props:sideff/2)
This predicate is understood natively by CiaoPP.
(basic_props:native/1)
Go to the first, previous, next, last section, table of contents.