Size: a a a

2020 February 25

P

Pavel in rust_offtopic
λоλторт
Ваш полиморфизм подтипов же оверрейтед.
расширять снаружи всё же проще, чем адт
источник

DF

Dollar Føølish in rust_offtopic
λоλторт
Ваш полиморфизм подтипов же оверрейтед.
Как его можно в фп внедрить?
источник

DF

Dollar Føølish in rust_offtopic
Без потерь
источник

λ

λоλторт in rust_offtopic
Pavel
расширять снаружи всё же проще, чем адт
Для этого есть тайпклассы, модули и даже рекорды с параметричностью
источник

λ

λоλторт in rust_offtopic
Только далеко не всегда что-то должно быть открытым для расширения
источник

λ

λоλторт in rust_offtopic
Например те же булеан и мэйби
источник

P

Pavel in rust_offtopic
всё-таки мне контракты/трейты/интерфейсы нравятся, если они сделаны хорошо, тип пусть сам разбирается, как его реализовать, а ты просто ждёшь от него определённого интерфейса взаимодействия, а наследование, собственно для того, что можно расширить, но оно не всегда нужно, согласен
источник

P

Pavel in rust_offtopic
λоλторт
Например те же булеан и мэйби
да, иногда у тебя есть весь перечень -- мультитон, тогда подходит адт, ведь ты можешь покрыть всё множество значений просто, но иногда множество значений типа слишком велико, или его надо сильно разбивать, тогда открытая иерархия лучше
источник

p

polunin.ai in rust_offtopic
Pavel
всё-таки мне контракты/трейты/интерфейсы нравятся, если они сделаны хорошо, тип пусть сам разбирается, как его реализовать, а ты просто ждёшь от него определённого интерфейса взаимодействия, а наследование, собственно для того, что можно расширить, но оно не всегда нужно, согласен
буд-то трейты не являются наследованием, лол
источник

DF

Dollar Føølish in rust_offtopic
Может как то без механики наследования можно сабтайпинг в фп внедрить
источник

P

Pavel in rust_offtopic
polunin.ai
буд-то трейты не являются наследованием, лол
ну, это скорее контракты
источник

P

Pavel in rust_offtopic
типа "вот это вот может прыгать с передподвыперевертом"
источник

p

polunin.ai in rust_offtopic
Pavel
ну, это скорее контракты
в чем разница между ним и наследованием
источник

P

Pavel in rust_offtopic
polunin.ai
в чем разница между ним и наследованием
наследование это неявная композиция, не более
источник

p

polunin.ai in rust_offtopic
Pavel
наследование это неявная композиция, не более
при чем тут композиция
источник

λ

λоλторт in rust_offtopic
polunin.ai
буд-то трейты не являются наследованием, лол
Не являются, они выражаются через рекорды с функциями и параметрический полиморфизм
источник

P

Pavel in rust_offtopic
polunin.ai
при чем тут композиция
при том, что наследование это неявная композиция
источник

p

polunin.ai in rust_offtopic
Pavel
при том, что наследование это неявная композиция
...
источник

P

Pavel in rust_offtopic
у тебя наследник состоит из себя и родителя, при этом некоторый код он делегирует родителю, а некоторый делает сам
источник

AK

Alexander Krivitskiy in rust_offtopic
Pavel
при том, что наследование это неявная композиция
Если А наследует Б, то я могу Б присвоить А. Если А имеет Б, я не могу Б присвоить А
источник