Re: [m-users.] More modes for map.map_foldl

Julien Fischer <[email protected]> Tue, 2 Dec 2025 15:13:08 +1100
Newsgroups gmane.comp.lang.mercury.general
Message-ID <CAFFSLtjcZsBi82nzd-+3OuEPsnnQ=fKgAZhtk6-HzdQV_HMgKg@mail.gmail.com>
--===============8017676017342077760==
Content-Type: multipart/alternative; boundary="000000000000e1bc120644f05057"

--000000000000e1bc120644f05057
Content-Type: text/plain; charset="UTF-8"

Hi Volker,

On Tue, 2 Dec 2025 at 05:25, Volker Wysk <[email protected]> wrote:

>
> Could you (the Mercury Team) provide more modes for map_foldl, for the case
> when the inner predicate is cc_multi? For my case, it should look like
> this:
>
> :- mode map_foldl(in(pred(in, in, out, di, uo) is cc_multi),
>                   in, out, di, uo) is cc_multi.


I will add this.  Are there any others that you specifically need?

There are also a lot more predicates which should updated this way as well.
>

Adding every possible mode for some of these higher-order predicates will
increase the size of the library; generally we only add them as required.

Julien.

--000000000000e1bc120644f05057
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi Volker,</div><br><div class=3D"gmail_quote gmail_q=
uote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, 2 Dec 2025 at=
 05:25, Volker Wysk &lt;<a href=3D"mailto:[email protected]">post@volker-=
wysk.de</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex"><br>
Could you (the Mercury Team) provide more modes for map_foldl, for the case=
<br>
when the inner predicate is cc_multi? For my case, it should look like this=
:<br>
<br>
:- mode map_foldl(in(pred(in, in, out, di, uo) is cc_multi),=C2=A0<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 in, out, di,=
 uo) is cc_multi.</blockquote><div><br></div><div>I will add this.=C2=A0 Ar=
e there any others that you specifically need?</div><div><br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">
There are also a lot more predicates which should updated this way as well.=
<br></blockquote><div><br></div><div>Adding every possible mode for some of=
 these higher-order predicates will</div><div>increase the size of the libr=
ary; generally we only add them as required.</div><div><br></div><div>Julie=
n.=C2=A0</div></div></div>

--000000000000e1bc120644f05057--

--===============8017676017342077760==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KdXNlcnMgbWFp
bGluZyBsaXN0CnVzZXJzQGxpc3RzLm1lcmN1cnlsYW5nLm9yZwpodHRwczovL2xpc3RzLm1lcmN1
cnlsYW5nLm9yZy9saXN0aW5mby91c2Vycwo=

--===============8017676017342077760==--