
On Thu, Feb 27, 2014 at 3:08 PM, Johan Tibell wrote:
General comment: none of the other containers APIs use a function<DataType> suffix. I noticed that Data.Tree does for a bunch of functions.
Isn't that because there are Tree and Forest variants of functions with different types? For example: unfoldTree :: (b -> (a, [b])) -> b -> Tree a unfoldForest :: (b -> (a, [b])) -> [b] -> Forest a The other container APIs do not have mutually recursive type names like Tree and Forest and, therefore, do not have analogous function variants. Perhaps we should avoid continuing down that path and instead have
functions like 'lookup' and 'lookupInForest'.
To be consistent with the Data.Tree naming pattern of Tree/Forest variants, maybe these functions should be lookupTree/lookupForest or lookupInTree/lookupInForest. Otherwise, your conclusion may be valid for functions that are do not have variants. Regards, Sean