Size: a a a

2021 February 10

AP

Aleksei (astynax) Pi... in Haskell
Взщз Щщщхш
В PEP634..6 убегают они или нет — вроде как вообще неопределённое поведение
> It binds the subject value to the name using the scoping rules for name binding established for the walrus operator
Читаем "о места связывания и ниже"
источник

ВЩ

Взщз Щщщхш in Haskell
Aleksei (astynax) Pirogov
> It binds the subject value to the name using the scoping rules for name binding established for the walrus operator
Читаем "о места связывания и ниже"
PEP 634, Side Effects and Undefined Behavior:
Another undefined behavior is the binding of variables by capture patterns that are followed (in the same case block) by another pattern that fails. These may happen earlier or later depending on the implementation strategy, the only constraint being that capture variables must be set before guards that use them explicitly are evaluated.
источник

ВЩ

Взщз Щщщхш in Haskell
ну да, не совсем то
источник

AA

A64m AL256m qn<co... in Haskell
Ortofax
думаю, он был создан, чтобы использоваться для быстрого доступа, например takeLast m за O(m)
эта операция там быстрее, log m
но для вектора она вообще константная
источник

AA

A64m AL256m qn<co... in Haskell
это структура для редкого сочетания требований, и с очень жирными константами
источник

AP

Aleksei (astynax) Pi... in Haskell
Взщз Щщщхш
PEP 634, Side Effects and Undefined Behavior:
Another undefined behavior is the binding of variables by capture patterns that are followed (in the same case block) by another pattern that fails. These may happen earlier or later depending on the implementation strategy, the only constraint being that capture variables must be set before guards that use them explicitly are evaluated.
Это понятно, по скоупу переменная переживает match, но будет ли она фактически создана — знать заранее нельзя. Тут ровно то же, что и с "моржом"
источник

AP

Aleksei (astynax) Pi... in Haskell
источник

AP

Aleksei (astynax) Pi... in Haskell
"Программист начитался не того"
источник

D

Dreamerinnoise in Haskell
класс, тут опять питон обсуждают
источник

AA

A64m AL256m qn<co... in Haskell
в хаскеле новые фичи не делают просто, приходится обсуждать питон
источник

K

Kir in Haskell
A64m AL256m qn I0
в хаскеле новые фичи не делают просто, приходится обсуждать питон
В хаскелле новые фичи должны пробраться ещё и через кучу shift/reduce конфликтов, помимо прочего
источник

AA

A64m AL256m qn<co... in Haskell
не думаю, что это такое существенное препятствие по сравнению с остальным
источник

JS

Jerzy Syrowiecki in Haskell
у кабала всё ещё нет --file-watch?
источник

MP

Misha Puzanov in Haskell
у какие у нас есть spine-strict структуры с максимально дешевым (<>)?

у меня есть обход большого дерева (сотни тысяч элементов) с IO. Результат в каждом листе — Semigroup, общий результат — mconcat их всех. Сейчас у меня [], попробовал Set (уникальность не важна, можно в конце сделать distinct), но Set  ощутимо жирнее по памяти. Что там еще, Seq?
источник

MP

Misha Puzanov in Haskell
то есть список вроде бы ок, но из-за IO все эти куски не ленивые и получается (по-моему) нифига не оптимально
источник

AA

A64m AL256m qn<co... in Haskell
сворачивать пакетом foldl в мутабельный вектор например
сек не особо по жирности от сета отличается
источник

AA

A64m AL256m qn<co... in Haskell
еще для такого всякие билдеры применяют
источник

AA

A64m AL256m qn<co... in Haskell
но сотни тыс. элементов достаточно для того чтоб развесистость билдера не особо хорошо на производительность влияла из-за гц и т.д.
источник

AA

A64m AL256m qn<co... in Haskell
а, стоп, сотни тыс. элементов может быть нормально если они заметными кусками, если сотни тыс. кусков - то это уже не весело
источник

AA

A64m AL256m qn<co... in Haskell
т.е. если у нас vector-builder то и траверсабл дерево векторов че-то типа (все апи по памяти)
tree ^. traverse . to Builder.vector

если пакет foldl
r <- foldMOf (traverse . each) L.vectorM tree

где-то мож надо будет типы уточнить и то и другое для дженерик вектора
источник