您将如何为 Data.Set 实现 catMaybes ?
我想出了:
import qualified Data.Set as Set
import qualified Data.Maybe as Maybe
setCatMaybes a = Set.map Maybe.fromJust . Set.delete Nothing $ a
fnord = Set.fromList [Nothing, Just 41, Just 43, Just 47]
然后我得到以下
setCatMaybes fnord == fromList [41,43,47]