ENHANCED: improved determinism of member/2

Example:

    ?- member(X, "abc").
    %@    X = a
    %@ ;  X = b
    %@ ;  X = c.

This addresses #750.
This commit is contained in:
Markus Triska
2023-07-12 07:26:52 +02:00
committed by Mark
parent 4fd37335f5
commit 814ce2d672

View File

@@ -122,8 +122,13 @@ length_addendum([_|Xs], N, M) :-
% X = h % X = h
% ; ... . % ; ... .
% ``` % ```
member(X, [X|_]).
member(X, [_|Xs]) :- member(X, Xs). member(X, [L|Ls]) :-
member_(Ls, L, X).
member_(_, X, X).
member_([L|Ls], _, X) :-
member_(Ls, L, X).
%% select(X, Xs0, Xs1). %% select(X, Xs0, Xs1).
% %