[m-dev.] Please add cc_multi det to pprint.separated/3

doug.auclair at logicaltypes.com doug.auclair at logicaltypes.com
Mon Mar 19 05:10:51 AEDT 2007

Dear all (cross-posted to mercury-users, as sometimes
mercury-developers drops my posts),

I have updated the xml library provided in the extras
distribution so that it now compiles for Mercury 0.13.1,
and I have also added some transformation and 
pretty-printing functionality to it.  It is available 
at http://www.logicaltypes.com.

In adding pprint functionality, I noticed I needed to
duplicate pprint.separated/3 in my module because it does 
not have cc_multi determinism (it is det).

Can this determinism declaration be added to pprint.separated?
Although it adds to that func's semantics, I believe no
implementation code need be added.


Does this request lead to a broader question?  In the mode
and determinism lattice can the compiler allow one type
of mode or determinism from a mode or determinism declared
differently?  For another example: consider maps storing 
function-types as values -- their mode is 
in(func(...) = ... is determinism) but the map(K, V) mode is 
map(in, in).  Can the compiler permit function types be 
stored in maps given the 'in' modality of the argument type?  
Or, should map be redeclared to have a 'polymorphic' mode 
that would allow this kind of programming?

Doug Auclair

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

More information about the developers mailing list