From: Markus Triska Date: Wed, 8 Apr 2020 15:49:06 +0000 (+0200) Subject: tuples_in/2 now works X-Git-Tag: v0.8.119~20^2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=e442fddc661e9ed225fb3ecb1f5a39d6a15f9147;p=scryer-prolog.git tuples_in/2 now works --- diff --git a/src/prolog/lib/clpz.pl b/src/prolog/lib/clpz.pl index df5ade2d..458c5d21 100644 --- a/src/prolog/lib/clpz.pl +++ b/src/prolog/lib/clpz.pl @@ -4295,12 +4295,14 @@ tuples_in(Tuples, Relation) :- relation_tuple(Relation, Tuple) :- relation_unifiable(Relation, Tuple, Us, _, _), ( ground(Tuple) -> memberchk(Tuple, Relation) - ; tuple_domain(Tuple, Us), + ; phrase(tuple_domain(Tuple, Us), _), ( Tuple = [_,_|_] -> tuple_freeze(Tuple, Us) ; true ) ). +list_first_rest([L|Ls], L, Ls). + tuple_domain([], _) --> []. tuple_domain([T|Ts], Relation0) --> { maplist(list_first_rest, Relation0, Firsts, Relation1) },