Size: a a a

2021 March 26

YS

Yan Shkurinskiy in Haskell Start
Yuuri
Ну, всё остальное статически )
не, я про даункасты)
источник

YS

Yan Shkurinskiy in Haskell Start
Они совсем не проверяются статически?
источник

YS

Yan Shkurinskiy in Haskell Start
В какой-нибудь джаве я смогу Murka сдаункастить к Dogs а не к Cats и мне компилятор ничего не скажет?
источник

AK

Aleksey Kislitsa in Haskell Start
Yan Shkurinskiy
Там статически вообще ничего не проверяется?
Проверяются насколько это возможно.
источник

Y

Yuuri in Haskell Start
А как? Если ты кастишь объект-предок к объекту-потомку, который в рантайме потенциально может оказаться любым
источник

YS

Yan Shkurinskiy in Haskell Start
Или я путаю с upcast'ом
источник

AK

Aleksey Kislitsa in Haskell Start
Yan Shkurinskiy
В какой-нибудь джаве я смогу Murka сдаункастить к Dogs а не к Cats и мне компилятор ничего не скажет?
Не всегда он сможет это сказать
источник

Y

Yuuri in Haskell Start
Ну компилятор может отследить частные случаи и выкинуть проверку (а также заинлайнить всякие виртуальные вызовы), но это частные случаи
источник

JS

Jerzy Syrowiecki in Haskell Start
Yuuri
А как? Если ты кастишь объект-предок к объекту-потомку, который в рантайме потенциально может оказаться любым
в рантайме — через тэги, так же, как в динамических языках
источник

Y

Yuuri in Haskell Start
Jerzy Syrowiecki
в рантайме — через тэги, так же, как в динамических языках
Вопрос-то был про компайл-тайм
источник

JS

Jerzy Syrowiecki in Haskell Start
а, тогда никак (кроме магии оптимизатора, который может подставить конкретные типы и в частных случаях выбросить лишний код)
источник

Y

Yuuri in Haskell Start
Yan Shkurinskiy
Или я путаю с upcast'ом
Cat к Animal — апкаст, Animal к Cat — даункаст, Cat к Dog — сайдкаст
источник

Y

Yuuri in Haskell Start
Jerzy Syrowiecki
а, тогда никак (кроме магии оптимизатора, который может подставить конкретные типы и в частных случаях выбросить лишний код)
Ну я так и написала
источник

YS

Yan Shkurinskiy in Haskell Start
Yuuri
Cat к Animal — апкаст, Animal к Cat — даункаст, Cat к Dog — сайдкаст
Да, путаю)
источник

YS

Yan Shkurinskiy in Haskell Start
Ну вроде при даункасте проверки не нужны часто исходя из дизайна ооп?
источник

YS

Yan Shkurinskiy in Haskell Start
Что "потомок не должен уметь делать меньше чем родитель"
источник

WB

White Bear in Haskell Start
.
Окей, а здесь что происходит? Напоминает JSON внешне
Конструкор типа User
источник

JS

Jerzy Syrowiecki in Haskell Start
что-то здесь много ООП для хаскельного чата
источник

YS

Yan Shkurinskiy in Haskell Start
Jerzy Syrowiecki
что-то здесь много ООП для хаскельного чата
Лучший ООП язык!
источник

JS

Jerzy Syrowiecki in Haskell Start
Yan Shkurinskiy
Лучший ООП язык!
если только ООП через кодату выражать
источник