make sublist from hprolog and sublist from yap be the same beast.
This commit is contained in:
parent
9cce7df45b
commit
cfc0a23953
@ -38,7 +38,7 @@
|
||||
split_at/4, % +N, +List, -FirstElements, -LastElements
|
||||
max_go_list/2, % +List, -Max
|
||||
or_list/2, % +ListOfInts, -BitwiseOr
|
||||
chr_sublist/2, % ?Sublist, +List
|
||||
sublist/2, % ?Sublist, +List
|
||||
bounded_sublist/3, % ?Sublist, +List, +Bound
|
||||
chr_delete/3,
|
||||
init_store/2,
|
||||
@ -54,7 +54,10 @@
|
||||
put_ds/4
|
||||
% lookup_ht1/4
|
||||
]).
|
||||
:- use_module(library(lists)).
|
||||
|
||||
:- reexport('../lists',[sublist/2]).
|
||||
|
||||
%:- use_module(library(lists)).
|
||||
:- use_module(library(assoc)).
|
||||
|
||||
/** <module> hProlog compatibility library
|
||||
@ -210,15 +213,15 @@ or_list([H|T], Or0, Or) :-
|
||||
%
|
||||
% True if all elements of Sub appear in List in the same order.
|
||||
|
||||
chr_sublist(L, L).
|
||||
chr_sublist(Sub, [H|T]) :-
|
||||
'$sublist1'(T, H, Sub).
|
||||
%sublist(L, L).
|
||||
%sublist(Sub, [H|T]) :-
|
||||
% '$sublist1'(T, H, Sub).
|
||||
|
||||
'$sublist1'(Sub, _, Sub).
|
||||
'$sublist1'([H|T], _, Sub) :-
|
||||
'$sublist1'(T, H, Sub).
|
||||
'$sublist1'([H|T], X, [X|Sub]) :-
|
||||
'$sublist1'(T, H, Sub).
|
||||
%'$sublist1'(Sub, _, Sub).
|
||||
%'$sublist1'([H|T], _, Sub) :-
|
||||
% '$sublist1'(T, H, Sub).
|
||||
%'$sublist1'([H|T], X, [X|Sub]) :-
|
||||
% '$sublist1'(T, H, Sub).
|
||||
|
||||
%% bounded_sublist(?Sub, +List, +Bound:integer)
|
||||
%
|
||||
|
@ -267,10 +267,21 @@ select(Element, [Head|Tail], [Head|Rest]) :-
|
||||
% sublist(Sublist, List)
|
||||
% is true when both append(_,Sublist,S) and append(S,_,List) hold.
|
||||
|
||||
sublist(Sublist, List) :-
|
||||
prefix(Sublist, List).
|
||||
sublist(Sublist, [_|List]) :-
|
||||
sublist(Sublist, List).
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%% sublist(?Sub, +List) is nondet.
|
||||
%
|
||||
% True if all elements of Sub appear in List in the same order.
|
||||
|
||||
sublist(L, L).
|
||||
sublist(Sub, [H|T]) :-
|
||||
'$sublist1'(T, H, Sub).
|
||||
|
||||
'$sublist1'(Sub, _, Sub).
|
||||
'$sublist1'([H|T], _, Sub) :-
|
||||
'$sublist1'(T, H, Sub).
|
||||
'$sublist1'([H|T], X, [X|Sub]) :-
|
||||
'$sublist1'(T, H, Sub).
|
||||
|
||||
% substitute(X, XList, Y, YList)
|
||||
% is true when XList and YList only differ in that the elements X in XList
|
||||
|
Reference in New Issue
Block a user