[mercury-users] Please add cc_multi det to pprint.separated/3

doug.auclair at logicaltypes.com doug.auclair at logicaltypes.com
Tue Mar 20 12:08:05 AEDT 2007

Dear Julien, I'm sorry, I was being imprecise; you wrote:

>Is it really that useful to be able to propagate the committed choice 
>context beyond the call to pprint.separated/3?

At the time I wrote this email, I did not realize that a func type cannot
have cc_multi determinism, and I was using a HO pred type, anyway,
to carry this determinism.  What I'm asking for is that separated/3
accept a cc_multi HO argument, as well as the det HO func argument,
much like list.foldl/4 does already.  So, besides the existing:

:- func separated(func(T1) = doc, T2, list(T1)) = doc <= (doc(T2)).

I was requesting a

:- pred separated(pred(T1, doc), T2, list(T1), doc) <= doc(T2).
:- mode separated(pred(in, out) is cc_multi, in, in, out) is cc_multi.

but then that actually does require that implementation code be
added to the pprint module.  My mistake.

If you can add this pred, great; if not, I can use my external

Doug Auclair

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

More information about the users mailing list