【发布时间】:2015-10-25 19:52:31
【问题描述】:
作为 haskell 的新手,我想知道执行以下操作的更有效方法是什么:
mapmulti :: (a -> [b]) -> [a] -> [b]
mapmulti fn list = concat $ map fn list
我的列表将有数千到数百万个元素,创建一个包含 N 个列表的列表只是为了将它们连接在一起似乎很可惜。
另外,最好是,有一些更通用(可能是单子)的方法让 haskell 从函数的结果逐步创建列表,以便在不创建 O(n) 大小的递归表达式树的情况下逐步构建列表来评估?
【问题讨论】: