Re: [Haskell] Re: RFC: DData in hierarchical libraries

--- Johannes Waldmann
A few comments on the DData.Map proposal:
* nice work. I might start using it (instead of Data.FiniteMap) just because the function names look better :-)
Cool! ;)
* argument ordering:
the existing Data.FiniteMap mostly has f :: FiniteMap -> ... -> FiniteMap while the proposal uses f :: ... -> FiniteMap -> FiniteMap I think the Edison guidelines are quite nice:
http://www.haskell.org/ghc/docs/edison/users004.html#toc10
Did you follow them? What exceptions?
I have this additional top-priority rule: Whenever a function has the same name as one in Data.List, it should have a corresponding type. But basically, those rules are followed. The above difference you mention is justified by ... "Functions that modify a collection should take the collection last."
* types: some functions are not declared at their most general type (I checked by commenting out the decl. and asking ghci)
difference :: forall a1 k a. (Ord k) => Map k a1 -> Map k a -> Map k a1
differenceWithKey :: forall a1 k a. (Ord k) => (k -> a1 -> a -> Maybe a1) -> Map k a1 -> Map k a -> Map k a1
intersection :: forall a k a1. (Ord k) => Map k a -> Map k a1 -> Map k a
intersectionWith :: forall a k a2 a1. (Ord k) => (a1 -> a2 -> a) -> Map k a1 -> Map k a2 -> Map k a
intersectionWithKey :: forall a k a1 a2. (Ord k) => (k -> a2 -> a1 -> a) -> Map k a2 -> Map k a1 -> Map k a
isSubsetOfBy :: forall a1 k a. (Ord k) => (a -> a1 -> Bool) -> Map k a -> Map k a1 -> Bool
Well spotted. I'll change those. Cheers, JP. __________________________________ Do you Yahoo!? Yahoo! Search - Find what you�re looking for faster http://search.yahoo.com
participants (1)
-
JP Bernardy