This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/library/varlist.lgt
pmoura 6b4bde14e1 Logtalk 2.30.1 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1903 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-06-12 10:39:47 +00:00

38 lines
615 B
Plaintext

:- object(varlist,
extends(list)).
:- info([
version is 1.0,
author 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.