Size: a a a

2021 March 18

JS

Jerzy Syrowiecki in Haskell
Roman
Что это за синтаксис такой: OVERLAPPABLE_? CPP?
да
источник

JS

Jerzy Syrowiecki in Haskell
Переслано от toriningen
Господа, можете прояснить, пожалуйста.

Предыстория: я искал какой-нибудь prior art на тему связи между фри монадами и CQRS+ES, и наткнулся в одной из статей (https://www.stephenzoio.com/free-monads-and-event-sourcing/) на фразу "Free monads are data. This comes with all the benefits of being data, such as easy serialisation, transformation and portability" (полужирный текст мой) и понял, что либо я что-то фундаментально не понимаю, либо автор статьи заблуждается.

Каким образом в принципе можно сериализовать инстанс произвольной фри монады, если для любого нетривиального функтора поверх которого она будет определена так или иначе в экземпляр будут включены лямбды коллбеков, которые были бы переданы в соответствующий bind? Откуда берется "сериалиация", если, как я понимаю, никакой из современных рантаймов не позволяет сериализовать произвольную чистую функцию с замыканиями?
источник

JS

Jerzy Syrowiecki in Haskell
Переслано от кана
хороший вопрос, и я тоже им регулярно задавался, почему многие пишут что фримонады сериализуемы, если это совсем не так
источник

JS

Jerzy Syrowiecki in Haskell
Переслано от toriningen
т.е. конечно для вырожденного случая, где порождаемая структура - список, а не дерево, сериализовать можно. но мне кажется, что в таком простом случае и монады не нужны...
источник

JS

Jerzy Syrowiecki in Haskell
Переслано от toriningen
(хотел бы предупредить потенциальных читателей не принимать без изрядного скептицизма написанное в статье выше, т.к. авторское понимание CQRS и Event Sourcing-а существенно отличается от общепринятого)
источник

JS

Jerzy Syrowiecki in Haskell
Jerzy Syrowiecki
Переслано от toriningen
т.е. конечно для вырожденного случая, где порождаемая структура - список, а не дерево, сериализовать можно. но мне кажется, что в таком простом случае и монады не нужны...
дерево тоже можно. проблема же в пользовательских функциях
источник

JS

Jerzy Syrowiecki in Haskell
хотя вот пример сериализуемой монады https://hackage.haskell.org/package/ivory

она не free, правда
источник

JS

Jerzy Syrowiecki in Haskell
и сериализуема она не всегда
источник

JS

Jerzy Syrowiecki in Haskell
и вообще её сериализуемость не связана с монадичностью. в конечном счёте это просто функция, которую можно применить к интерпретатору в текст или к иному интерпретатору.

если внутри будет forever, то интерпретация зависнет. поэтому для циклов там есть DSL-функции, которые в процессе интерпретации вычисляются ровно 1 раз
источник

JS

Jerzy Syrowiecki in Haskell
не знаю, поможет ли всё это CQRS
источник

СД

Стас Донцов... in Haskell
есть хаскель чат для флуда?
источник

СД

Стас Донцов... in Haskell
по теме хаскеля естественно
источник

YS

Yan Shkurinskiy in Haskell
есть хаскель чат для флуда где хаскель - оффтоп
источник

YS

Yan Shkurinskiy in Haskell
источник

СД

Стас Донцов... in Haskell
хароош, то что надо
источник

AA

A64m AL256m qn<co... in Haskell
Стас Донцов
по теме хаскеля естественно
этот
источник

t

toriningen in Haskell
Jerzy Syrowiecki
не знаю, поможет ли всё это CQRS
нет, не очень поможет 🙂 суть-то как раз в пользовательских функциях
источник

t

toriningen in Haskell
и так как по утверждению многих людей фримонады "easily serializable", то у меня и возникли вопросы...
источник

JS

Jerzy Syrowiecki in Haskell
toriningen
и так как по утверждению многих людей фримонады "easily serializable", то у меня и возникли вопросы...
а где они это утверждают? можно посмотреть?
источник

JS

Jerzy Syrowiecki in Haskell
наверно, они easily serializable при некоторых hard ограничениях
источник