Size: a a a

2019 September 21

ДК

Дима Красилов in pro.flood
Apache DOG™
Вот например есть широкий класс операций с коллекциями которые описываются как 1->n элементов. Сколько бойлеплейта было написано для их описания когда есть Монада у которой есть флат мап частным случаем которого есть эта самая операция
Паттерн монада?
источник

AD

Apache DOG™ in pro.flood
Монада это свойство, а паттерн это рецепт
источник

ДК

Дима Красилов in pro.flood
)
источник

ДК

Дима Красилов in pro.flood
То есть мне нужен такой тип, который реализует паттерн монада
источник

ДК

Дима Красилов in pro.flood
Ты мне вот чего лучше скажи, монада в скале это тайп класс получается?
источник

AD

Apache DOG™ in pro.flood
Тайпкласс это средство для реализации функционала отвязанное от непосредственно данных. Он состоит из "интерфейса" и реализаций которые обычно называются инстансами
источник

AD

Apache DOG™ in pro.flood
И.е. список, он вообще может и не знать о том что он монада
источник

T

Timur in pro.flood
источник

ДК

Дима Красилов in pro.flood
Apache DOG™
Тайпкласс это средство для реализации функционала отвязанное от непосредственно данных. Он состоит из "интерфейса" и реализаций которые обычно называются инстансами
Интерфейс и реализации это ООП какое-то
источник

AD

Apache DOG™ in pro.flood
Я же привожу аналогии чтобы было вам понятнее
источник

ДК

Дима Красилов in pro.flood
Apache DOG™
И.е. список, он вообще может и не знать о том что он монада
Зачем ему знать о том, что он монада?
источник

T

Timur in pro.flood
источник

ДК

Дима Красилов in pro.flood
Зачем хоть какому-то интерфейсу надо знать о том, что он такое
источник

ДК

Дима Красилов in pro.flood
Это другим интерфейсам надо знать о том, что он такое
источник

AD

Apache DOG™ in pro.flood
Ну вообще, монада должна знать о том что она монада чтобы реализовать map через flatMap и pure
источник

ДК

Дима Красилов in pro.flood
Apache DOG™
Ну вообще, монада должна знать о том что она монада чтобы реализовать map через flatMap и pure
А мап в спецификацию монады не входит
источник

AD

Apache DOG™ in pro.flood
Но он получается потому что в монаде есть pure
источник

AD

Apache DOG™ in pro.flood
Если мы условно говоря завернём единстный элемент в список из одного, то получим мап
источник

AD

Apache DOG™ in pro.flood
Имея флатмап
источник

AD

Apache DOG™ in pro.flood
Приятный бонус
источник