
--- Christian Maeder
JP Bernardy wrote:
A revision of DData.
In Set, I find the name
uncheckedMapMonotonic
unnecessary long.
I'm tempted to drop the unchecked prefix. It is rather obvious that monotonicity of the function is not checked. mapAsc doesn't appeal to me, because it makes less explicit the monotonicity of the mapped function.
Again, I suggest to omit toAscList (as it is the same as toList)
Yet, it has been shown that "toDescList" might be needed, in a lazy setting. Thus, having the symmetric "toAscList" is logical; even if the semantic is the same a "toList".
and to rename fromDistinctAscList to fromAscList and provide no extra treatment for ascending list with duplicates. (Maybe a linear nub variant can be provided elsewhere: ... = map head . group) Thus "Asc" could indicate unchecked variants and always means strongly ascending. (Therefore I suggested "mapAsc")
This is quite a lot of changes wrt. the original. I'd wait for more comments o this. You also asked again if MultiSet should be renamed to Bag. My argument went as such: Daan's remark about the difference between bags and multisets is: " A multi set differs from a /bag/ in the sense that it is represented as a map from elements to occurrence counts instead of retaining all elements. This means that equality on elements should be defined as a /structural/ equality instead of an equivalence relation. If this is not the case, operations that observe the elements, like 'filter' and 'fold', should be used with care. " You argued that Eq is (nearly) always assumed to be defined by structural equality, so "Bag" would be just as good as "MultiSet". Yet, a true "Bag" type may be added later, so I did not bother to change the name. Cheers, JP. __________________________________ Do you Yahoo!? Yahoo! Mail - More reliable, more storage, less spam http://mail.yahoo.com