Size: a a a

2021 March 24

K

Kir in ФП
Александр Гранин
Ну более яростных и более biased противников ФП я более нигде не встречал. На мою книгу приходили разгромные ревью от "java архитектов с 15+ годами опыта", где красной нитью было: "ФП г.", "Haskell г.", "вы все мудаки"
Казалось бы, а ведь ООП с ФП ортогональны
источник

АГ

Александр Гранин... in ФП
Это все досужие размышления и ярлыки
источник

AG

Alex Gryzlov in ФП
ну дело в том что ооп тоже есть разных сортов
источник

AG

Alex Gryzlov in ФП
классы а-ля мейнстрим, прототипы а-ля жс, актор-стайл
источник

AG

Alex Gryzlov in ФП
с фп их тоже по всякому гибридизировали, из последнего можно вспомнить DOT-исчисление скалы и подходы с коданными и фазовой теорией модулей из теорий типов
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Daniil Kostin
Вообще в идеале я б потружил ООП и ФП 🙂
Ну у меня и так саги есть, они в изоляты(потоки) выносятся.
Вся беда от архитектуры зависит имхо. Если UI и логика в одной куче - то беда-беда.
источник

AG

Alex Gryzlov in ФП
угу, я сообщением выше про то и писал
источник

DK

Daniil Kostin in ФП
Спасибо. Это более понятно. DOT для меня это Data Oriented Technology с ФП у меня слабо ассоциируется, но что-то есть похожее возможно.
источник

AG

Alex Gryzlov in ФП
нет, dot в этом случае это dependent object type
источник

AG

Alex Gryzlov in ФП
источник

AG

Alex Gryzlov in ФП
имеются в виду вложенные в объекты сущности, чей тип зависит от того, из какого они объекта взяты
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Daniil Kostin
Спасибо. Это более понятно. DOT для меня это Data Oriented Technology с ФП у меня слабо ассоциируется, но что-то есть похожее возможно.
Ну, я пишу на ТС. Не использую ADT, но у меня все функции pure и immutable. Использую только data/codata подход, без классов, с замыканиями - в лучших традициях daggy types от fantasy-land
источник

AG

Alex Gryzlov in ФП
дата-кодата подход в смысле визитор паттерн?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Alex Gryzlov
дата-кодата подход в смысле визитор паттерн?
Нет. В смысле конструкторы выносятся на границы приложения, а бизнес-логика работает только с кодатой
источник

AG

Alex Gryzlov in ФП
тогда не очень понятно почему конструкторы есть, а adt нет :)
источник

AG

Alex Gryzlov in ФП
data из этой статьи это как раз классические полиномиальные типы данных
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Alex Gryzlov
тогда не очень понятно почему конструкторы есть, а adt нет :)
Долго писать на ТС реализацию функтора, аппликатива и т д для каждого типа, поэтому кодата кастомная, а не АДТ
источник

AG

Alex Gryzlov in ФП
ну то есть вы все таки как-то кодируете адт кодатой
источник

K

Kir in ФП
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Нет. В смысле конструкторы выносятся на границы приложения, а бизнес-логика работает только с кодатой
А ко-дата у вас, например, что?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Kir
А ко-дата у вас, например, что?
Интерфейсы, с которыми я работаю (типы) в бизнес-логике:
https://github.com/chantelle-lingerie/sales/#interfaces
источник