From: Markus Triska Date: Sun, 24 Jul 2022 22:10:32 +0000 (+0200) Subject: add meta_predicate/1 declarations X-Git-Tag: v0.9.1^2~47 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=4422ffe39f1ef025934a1b61382ce25519675dfb;p=scryer-prolog.git add meta_predicate/1 declarations --- diff --git a/src/lib/clpz.pl b/src/lib/clpz.pl index bb9ffcba..94930932 100644 --- a/src/lib/clpz.pl +++ b/src/lib/clpz.pl @@ -194,6 +194,8 @@ type_error(Expectation, Term) :- type_error(Expectation, Term, unknown(Term)-1). +:- meta_predicate(partition(1, ?, ?, ?)). + partition(Pred, Ls0, As, Bs) :- include(Pred, Ls0, As), exclude(Pred, Ls0, Bs). @@ -214,6 +216,8 @@ partition_([X|Xs], Pred, Ls0, Es0, Gs0) :- include/3 and exclude/3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ +:- meta_predicate(include(1, ?, ?)). + include(Goal, Ls0, Ls) :- include_(Ls0, Goal, Ls). @@ -226,6 +230,7 @@ include_([L|Ls0], Goal, Ls) :- include_(Ls0, Goal, Rest). +:- meta_predicate(exclude(1, ?, ?)). exclude(Goal, Ls0, Ls) :- exclude_(Ls0, Goal, Ls).