root/tags/lgt291/library/varlist.lgt

Revision 2, 0.6 KB (checked in by pmoura, 7 years ago)

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2:- object(varlist,
3    extends(list)).
4
5
6    :- info([
7        version is 1.0,
8        authors is 'Paulo Moura',
9        date is 2000/7/24,
10        comment is 'List of variables predicates.']).
11
12
13    member(Element, [Head| _]) :-
14        Element == Head.
15
16    member(Element, [_| Tail]) :-
17        member(Element, Tail).
18
19
20    memberchk(Element, [Head| Tail]) :-
21        Element == Head ->
22            true
23            ;
24            memberchk(Element, Tail).
25
26
27    prefix([], _).
28
29    prefix([Head1| Tail1], [Head2| Tail2]) :-
30        Head1 == Head2,
31        prefix(Tail1, Tail2).
32
33
34    valid(List) :-
35        nonvar(List),
36        \+ \+ valid2(List).
37
38
39    valid2([]).
40
41    valid2([Head| Tail]) :-
42        var(Head),
43        valid2(Tail).
44
45
46:- end_object.
Note: See TracBrowser for help on using the browser.