【发布时间】:2016-04-20 11:21:13
【问题描述】:
我目前正在尝试解决 20 Intermediate Haskell Excercises 练习,但在不使用 sequence 的情况下尝试实施 mapM(练习中的 moppy)时遇到问题。
我只能通过简单地应用fmap 来生成[m b],但我不知道如何继续:
moppy :: [a] -> (a -> m b) -> m [b]
moppy la f = furry' f la -- how do I transform [m b] to m [b] without sequence
谁能给我提示一下看哪个方向?
【问题讨论】:
-
一般来说,如果您想添加比
map允许的更多的“上下文”,请考虑使用折叠或显式递归来遍历您的数据结构。