Size: a a a

2021 March 08

MK

Maxim Koltsov in Haskell
Опять про аниме пошла речь
источник

MK

Maxim Koltsov in Haskell
Да что ж такое
источник

MK

Maxim Koltsov in Haskell
Пора делать индастриал-онли хаскель чат
источник

A

Andrey in Haskell
Maxim Koltsov
Опять про аниме пошла речь
😊
источник

к

кана in Haskell
переименуем все полугруппы в IConcatable
источник

MK

Maxim Koltsov in Haskell
Да
источник

MK

Maxim Koltsov in Haskell
Заживём!
источник

A

Andrey in Haskell
[BRM]White Rabbit
про это я уже прочитал, ахах
Я просто про более прозаичное применение
Думаю, это полезная абстракция
Если у вас есть операция над некоторыми объектами, которая ассоциативна (первое свойство), то вам важен только порядок применения этой операции, но не расстановка скобок
Если есть нейтральный элемент (mempty), появляется понятие "применить операцию 0 раз"
Эти свойства с одной стороны довольно удобные, с другой довольно общие
Моноид просто их фиксирует, чтобы их можно было использовать полиморфно
источник

AP

Aleksei (astynax) Pi... in Haskell
Jerzy Syrowiecki
это то же самое, что и runST+unsafeThaw+unsafeFreeze?
Так как под капотом структуры стандартные реализованы через Java-объекты и мутабельные ссылки, рантайм может себе позволить деструктивное изменение. Но при этом блокирует эту возможность для других потоков. Если где-то были ссылки на эту же структуру, то будет создана копия. Если не было — рантайм обойдется без копирования.
источник

к

кана in Haskell
вы тут повторяете про расстновку скобок, но не поясняете, почему это полезно
источник

к

кана in Haskell
а существенная полезность - простое распараллеливание
источник

A

Andrey in Haskell
кана
а существенная полезность - простое распараллеливание
Но ведь нет, просто некоторые использования моноида не будут работать, если нет ассоциативности
источник

A

Andrey in Haskell
Ну то есть параллельность тоже, но это не первичное имхо
источник

к

кана in Haskell
моноид уже подразумевает ассоциативность
источник

A

Andrey in Haskell
Ну да, так вопрос в том, зачем она
источник

MK

Maxim Koltsov in Haskell
какие моноиды кроме списка вы вообще используете в работе?
источник

к

кана in Haskell
только сеты и мапы, для всего остального обычно нет моноида и просто используются специализированные функции
источник

MK

Maxim Koltsov in Haskell
ну кстати monoidal map полезная штука, да
источник

AP

Aleksei (astynax) Pi... in Haskell
Maxim Koltsov
какие моноиды кроме списка вы вообще используете в работе?
Моноид "конфиг" :) Те, что в optparse-applicative ещё.
источник

к

кана in Haskell
типа из недавнего: есть модули, для каждого модуля есть тяжелая IO операция взятия списка импортов этого модуля. Нужно построить граф зависимостией

в итоге каждый для каждого модуля параллельно строится граф-звезда (moduleName -> [imports]), а потом эти графы мержатся "моноидально" в один граф
источник