>>=
要做到这一点,或者你可以使用其他的一起破解列表理解的方法?
澄清:通过“伪造”列表理解,我的意思是创建一个函数,该函数接受相同的输入并产生相同的输入,即返回值的形式、组合在一起的列表以及谓词或多个谓词。
最佳答案
Section 3.11 Haskell 报告中准确描述了列表推导的含义,以及如何将它们翻译掉。
如果你想要单子(monad)理解,你基本上需要替换 [e]
通过 return e
, []
通过 mzero
, 和 concatMap
通过 (>>=)
在翻译中。
关于haskell - Haskell 中的列表推导是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687896/