PROPOSAL: Add Data.Set.mapMaybe
nominolo at googlemail.com
Wed Oct 31 09:38:02 EDT 2007
On Wed, 2007-10-31 at 14:29 +0100, Thomas Schilling wrote:
> Hi there.
> I recently find myself missing Data.Set.mapMaybe. This function is
> implemented for Data.Map.Map, but is strangely missing from
> Data.Set.mapMaybe. I believe it could be implemented using
> Data.Foldable, but not as efficiently. The obvious implementation would
> mapMaybe :: (Ord a, Ord b) => (a -> Maybe b) -> Set a -> Set b
> mapMaybe f Tip = Tip
> mapMaybe f (Bin _ x l r) = case f x of
> Nothing -> merge (mapMaybe f l) (mapMaybe f r)
> Just y -> union y (mapMaybe f l) (mapMaybe f r)
> Any comments?
D'oh! This is wrong. Sorry, for the noise.
More information about the Libraries