如何处理 Maybe type in Haskell list comprehensions

How to deal with Maybe type in Haskell list comprehensions

我在 Haskell 中有一个列表理解,它指定了 Maybe 类型的谓词:

[x | x <- listOfMaybes, isJust(f y), x == fromJust(f y)]

有没有办法简化这个表达式?

您可以简单地使用 catMaybes (from Data.Maybe) 过滤掉所有 Nothing 值。

如果你只是想过滤掉所有的Nothing,shang的回答给出了最简洁的解决方案。然而,它可以在列表理解中轻松完成:

[x | Just x <- f y]