我想知道是否有一個標準函數迭代一個函數,它返回一個初始值(可能值),收集列表中的值,但是當它到達Nothing時結束列表。該功能例如可以實現像這樣: iterateMaybe f a = a : iterMaybe (f a) where
iterMaybe Nothing = []
iterMaybe (Just a) = a : iterMaybe (f a)
或略有不
我有以下哈斯克爾方法 unfold :: (a -> Bool) -> (a -> b) -> (a -> a) -> a -> [b]
unfold p h t x
| p x = []
| otherwise = (h x):(unfold p h t (t x))
我怎樣才能用這個給定的展開方法定義正序幕映射f X方法。