[m-rev.] diff: add multi list.fold{l,r}/4

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Nov 29 17:40:15 AEDT 2006


One of the things that came out of the disucssion I had with
Ondrej Bojar this afternoon ...

Estimated hours taken: 0.1
Branches: main

library/list.m:
 	Add multidet versions of list.foldl/4 and list.foldr/4.

NEWS:
 	Announce the additions.

Julien.

Index: NEWS
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/NEWS,v
retrieving revision 1.430
diff -u -r1.430 NEWS
--- NEWS	1 Nov 2006 06:32:46 -0000	1.430
+++ NEWS	29 Nov 2006 06:37:13 -0000
@@ -15,6 +15,9 @@

  Changes to the Mercury standard library:

+* We have added versions of list.foldl/4 and list.foldr/4 that have 
+  determinism multi.
+
  * We have changed the interface of the ops module to make lookups of operators
    more efficient.

Index: library/list.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/list.m,v
retrieving revision 1.156
diff -u -r1.156 list.m
--- library/list.m	23 Oct 2006 00:32:58 -0000	1.156
+++ library/list.m	29 Nov 2006 06:33:47 -0000
@@ -648,6 +648,7 @@
  :- mode list.foldl(pred(in, di, uo) is det, in, di, uo) is det.
  :- mode list.foldl(pred(in, in, out) is det, in, in, out) is det.
  :- mode list.foldl(pred(in, in, out) is semidet, in, in, out) is semidet.
+:- mode list.foldl(pred(in, in, out) is multi, in, in, out) is multi.
  :- mode list.foldl(pred(in, in, out) is nondet, in, in, out) is nondet.
  :- mode list.foldl(pred(in, di, uo) is cc_multi, in, di, uo) is cc_multi.
  :- mode list.foldl(pred(in, in, out) is cc_multi, in, in, out) is cc_multi.
@@ -663,6 +664,7 @@
  :- mode list.foldr(pred(in, di, uo) is det, in, di, uo) is det.
  :- mode list.foldr(pred(in, in, out) is det, in, in, out) is det.
  :- mode list.foldr(pred(in, in, out) is semidet, in, in, out) is semidet.
+:- mode list.foldr(pred(in, in, out) is multi, in, in, out) is multi.
  :- mode list.foldr(pred(in, in, out) is nondet, in, in, out) is nondet.
  :- mode list.foldr(pred(in, di, uo) is cc_multi, in, di, uo) is cc_multi.
  :- mode list.foldr(pred(in, in, out) is cc_multi, in, in, out) is cc_multi.

--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list