のドキュメントに示されている例unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
:
unfoldr (\b -> if b == 0 then Nothing else Just (b, b-1)) 10
冗長ペアで簡単に書くことができます:
unfoldr (\b -> if b == 1 then Nothing else Just (b-1, b-1)) 11
unfoldr
ペアは何のために必要(a,b)
ですか?その型が ではないのはなぜ(a -> Maybe a) -> a -> [a]
ですか?