cc4531cd1e
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@53 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
47 lines
623 B
Plaintext
47 lines
623 B
Plaintext
|
|
:- object(varlist,
|
|
extends(list)).
|
|
|
|
|
|
:- info([
|
|
version is 1.0,
|
|
authors is 'Paulo Moura',
|
|
date is 2000/7/24,
|
|
comment is 'List of variables predicates.']).
|
|
|
|
|
|
member(Element, [Head| _]) :-
|
|
Element == Head.
|
|
|
|
member(Element, [_| Tail]) :-
|
|
member(Element, Tail).
|
|
|
|
|
|
memberchk(Element, [Head| Tail]) :-
|
|
Element == Head ->
|
|
true
|
|
;
|
|
memberchk(Element, Tail).
|
|
|
|
|
|
prefix([], _).
|
|
|
|
prefix([Head1| Tail1], [Head2| Tail2]) :-
|
|
Head1 == Head2,
|
|
prefix(Tail1, Tail2).
|
|
|
|
|
|
valid(List) :-
|
|
nonvar(List),
|
|
\+ \+ valid2(List).
|
|
|
|
|
|
valid2([]).
|
|
|
|
valid2([Head| Tail]) :-
|
|
var(Head),
|
|
valid2(Tail).
|
|
|
|
|
|
:- end_object.
|