. , , , ` . , , . , . .
Domains
namelist = name*
name = symbol
Predicates
Is_a_member_of(name, namelist)
Clauses
is_a_member_of(Name,[Name|_]).
is_a_member_of(Name,[_|Tail]):- is_a_member_of(Name,Tail).
8.3. .
, , . . :
Append(List1,List2,List3)
List3 . .
, (append([],List2,List2)). , , - .
:
Domains
integerlist = integer*
Predicates
Append(integerlist, integerlist, integerlist)
Clauses
append([], List, List).
append([X|L1], List2, [X|L3]):-
Append(L1, List2, L3).
goal: append([1,2],[3,4]), [1,2,3,4].
, append , . , . ,
goal: append(L1,L2,[1,2,4]
L1 = [], L2 = [1,2,[1,2,4]
l1 = [1], l2 = [2,4]
...
append, [3,4], [1,2,3,4]. ,
goal: append[L1,[3,4],[1,2,3,4] L1 =[1,2]
append . . , :
?
?
, . append .
. , . , .
8.4. `.
, , , . - . , , . , , .
|
|
, . ` , . findall, , ' .
findall :
- VarName ;
- , ypredicate, , ;
- , ListParam, , , .
, , ListParam.
findall, .