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.