Mercury Bugs - mercury
View Issue Details
0000112mercuryBugpublic2009-10-12 23:182009-10-17 06:10
Reportercolanderman 
Assigned Tojuliensf 
PrioritynormalSeverityfeatureReproducibilityalways
StatusresolvedResolutionno change required 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000112: set_* modules inconsistent
Descriptionset_bbbtree, set_ordlist, and set_unordlist all have a predicate member(T, set(T)) with modes semidet and nondet, and a predicate contains(set(T), T) with mode semidet.

set_tree234 reverses the order of the arguments of member relative to these three modules, and set_ctree234 drops member and provides instead one_member(set(T), T) with only mode nondet.

At the very least the order of arguments to set_tree234.member should be reversed, or the predicate renamed.
TagsNo tags attached.
Attached Files

Notes
(0000207)
colanderman   
2009-10-12 23:20   
Whoops, meant to say same applies to insert, delete, etc.
(0000208)
juliensf   
2009-10-13 00:55   
The inconsistency in the argument orderings is deliberate in the sense that the set_tree234
orderings are what we want (because they are more uesful with higher-order programming),
the versions in the other set modules will eventually be changed to conform to this; but not
until after the next stable release.
(0000209)
colanderman   
2009-10-13 02:37   
OK, good to know, thanks.
(0000213)
juliensf   
2009-10-17 06:10   
The argument orderings will be modified sometime after the 0.14 release.

Issue History
2009-10-12 23:18colandermanNew Issue
2009-10-12 23:20colandermanNote Added: 0000207
2009-10-13 00:55juliensfNote Added: 0000208
2009-10-13 02:37colandermanNote Added: 0000209
2009-10-17 06:10juliensfNote Added: 0000213
2009-10-17 06:10juliensfStatusnew => resolved
2009-10-17 06:10juliensfResolutionopen => no change required
2009-10-17 06:10juliensfAssigned To => juliensf