(а это популярнейший пример, когда мне нужен zip)
[ x + y | (x, y) <- zip xs ys, pred x ]
через PLC не написать, так зачем он такой (!) нужен?
было бы здорово PLC починить
нужен вот такой синтаксис [ x + y | parallelly x <- xs y <- ys , pred x ]
предлагаю убрать компрехеншены вообще, и нет проблем
Без компрехешеннов не так удобно писать штуки типа [f x| Just x <- xs]
Я мимо этого сообщения промахнулся
а такой код с PLC не написать, не написав вложенных листкомпов
https://t.me/haskellru/382983
яростно осуждаю! [ .. | (x, y) <- [ (x, y) | ... ] ..] пусть и выглядит многословно, но это единообразный и минималистичный синтаксис! Не нужно больше синтаксиса! Кому будет жать вложенный LC, возьмут zip. Но не будут вводить синтаксис дополнительный только лишь для подслащивания в узких кейсах!
вот поэтому в Питоне вместо let в компрехеншене пишут for x in [x]
[x for x in x for x in x] — такой себе образец для подражания
Обсуждают сегодня