Понятия списка полезны, если элементы несколько сложны, и нужно отфильтровать их по сопоставлению с образцом, или часть отображения чувствует себя слишком сложной для лямбда-абстракции, которая должна быть короткой (или я так чувствую), или если одинимеет дело с вложенными списками.В последнем случае понимание списка часто более читабельно, чем альтернативы (для меня, во всяком случае).
Например, что-то вроде:
[ (f b, (g . fst) a) | (Just a, Right bs) <- somelist, a `notElem` bs, (_, b) <- bs ]
Но для вашего примера, раздел (>4)
- это действительно хороший способ написать (\a -> a > 4)
, и поскольку вы используете его только для фильтрации, большинство людей предпочли бы решение ANthonys.