[m-rev.] diff: add set.fold4/10 to the standard library
Julien Fischer
juliensf at cs.mu.OZ.AU
Mon Jan 30 17:31:55 AEDT 2006
Estimated hours taken: 0.1
Branches: main
Add set.fold4/10 to the standard library (I've found that
I've needed it while converting the exception analysis to use
the intermodule analysis framework.)
library/set.m:
Add set.fold4/10.
NEWS:
Mention the new predicate.
Merge all of the new predicates in the list module into
one section.
Julien.
Index: NEWS
===================================================================
RCS file: /home/mercury1/repository/mercury/NEWS,v
retrieving revision 1.399
diff -u -r1.399 NEWS
--- NEWS 27 Jan 2006 05:51:59 -0000 1.399
+++ NEWS 30 Jan 2006 06:29:09 -0000
@@ -184,12 +184,12 @@
* We have added an `injection' module, for reversible maps that are injective.
-* We have added list.foldl_corresponding/5, list.foldl2_corresponding/7
- and list.map2_foldl2/8.
+* We have added list.foldl_corresponding/5, list.foldl2_corresponding/7,
+ list.map2_foldl2/8 and list.det_split_list/4.
* We have added string.word_wrap/2.
-* We have added list.det_split_list/4.
+* We have added set.fold4/10.
Changes to the Mercury compiler:
Index: library/set.m
===================================================================
RCS file: /home/mercury1/repository/mercury/library/set.m,v
retrieving revision 1.73
diff -u -r1.73 set.m
--- library/set.m 17 Oct 2005 11:35:19 -0000 1.73
+++ library/set.m 30 Jan 2006 06:25:21 -0000
@@ -277,6 +277,15 @@
:- mode set__fold3(pred(in, in, out, in, out, in, out) is semidet, in,
in, out, in, out, in, out) is semidet.
+:- pred set__fold4(pred(T, A, A, B, B, C, C, D, D), set(T), A, A, B, B,
+ C, C, D, D).
+:- mode set__fold4(pred(in, in, out, in, out, in, out, in, out) is det, in,
+ in, out, in, out, in, out, in, out) is det.
+:- mode set__fold4(pred(in, in, out, in, out, in, out, di, uo) is det, in,
+ in, out, in, out, in, out, di, uo) is det.
+:- mode set__fold4(pred(in, in, out, in, out, in, out, in, out) is semidet, in,
+ in, out, in, out, in, out, in, out) is semidet.
+
% set__divide(Pred, Set, TruePart, FalsePart):
% TruePart consists of those elements of Set for which Pred succeeds;
% FalsePart consists of those elements of Set for which Pred fails.
@@ -504,6 +513,9 @@
set__fold3(F, S, !A, !B, !C) :-
list__foldl3(F, set__to_sorted_list(S), !A, !B, !C).
+set__fold4(F, S, !A, !B, !C, !D) :-
+ list__foldl4(F, set__to_sorted_list(S), !A, !B, !C, !D).
+
set__divide(P, Set, TruePart, FalsePart) :-
set_ordlist__divide(P, Set, TruePart, FalsePart).
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list