
-- Edison defines 'subset' and 'subsetEq' in the set API. Data.Set has operations with the same meanings named 'isProperSubsetOf' and 'isSubsetOf'. I am considering adoping the Data.Set names, but they are quite a bit longer. Also what about the meaning of "subset" vs "proper subset"? What do you find most intuitive?
I prefer the mathematical convention: subset includes equality, proper subset excludes it. And proper subset can very easily defined by library user (just check isSubset and sizes differ) so is not essential. The 'is' prefix is good because it makes the meaning clearer. The 'Of' suffix is bad, because it doesn't and adds noise.
-- Data.Map defines 'isSubmapOfBy' and 'isProperSubmapBy'. Edison has no corresponding API methods. Are they important enough to add?
Can they be easily added by the user w/o loosing much efficiency? Then no. Else yes. Note that isSubmapOfBy and isProperSubmapOfBy are the only 'By'-suffix functions exported from Data.Map. Ben