Size: a a a

Programming Offtop

2020 July 25

AE

Alexandr Emelyanov in Programming Offtop
Iaroslav Orlov
да вы тут предлагаете в япах с номинативной типизацией глобально ввести структурную
Иногда бывает так, что лишние интерфейсы и лишние наследования не очень
источник

IO

Iaroslav Orlov in Programming Offtop
Alexandr Emelyanov
Иногда бывает так, что лишние интерфейсы и лишние наследования не очень
иногда не значит, что надо ломать всю систему типов и концепцию, как люди пишут код
источник

AN

Alexander Nozik in Programming Offtop
Alexandr Emelyanov
Иногда бывает так, что лишние интерфейсы и лишние наследования не очень
В общем, это интересно, но оно должно быть сильно ограничено, разумеется
источник

IO

Iaroslav Orlov in Programming Offtop
Alexandr Emelyanov
Иногда бывает так, что лишние интерфейсы и лишние наследования не очень
если такой keep вылетит, я пойду в committee с челобитной: "не надо"
источник

AN

Alexander Nozik in Programming Offtop
Iaroslav Orlov
иногда не значит, что надо ломать всю систему типов и концепцию, как люди пишут код
Почему ломать. Ты просто говоришь, что ты локально выключаешь проверки. Такой unsafe режим
источник

AN

Alexander Nozik in Programming Offtop
На самом деле в смысле типов ничего не ломается. Просто создается специальный тип, который наследует все остальные типы как Nothing, но при этом может быть инстанцирован
источник

IO

Iaroslav Orlov in Programming Offtop
Alexander Nozik
Почему ломать. Ты просто говоришь, что ты локально выключаешь проверки. Такой unsafe режим
да, но утиные интерфейсы не могут присутствовать на джвм, тк checkcast не пройдет к обычному. это выпадет из интеропа, либо выродится в рефлексию
источник

AN

Alexander Nozik in Programming Offtop
Iaroslav Orlov
да, но утиные интерфейсы не могут присутствовать на джвм, тк checkcast не пройдет к обычному. это выпадет из интеропа, либо выродится в рефлексию
Могут, посмотри на груви
источник

AN

Alexander Nozik in Programming Offtop
Все отлично работает
источник

IO

Iaroslav Orlov in Programming Offtop
Alexander Nozik
Могут, посмотри на груви
источник

AE

Alexandr Emelyanov in Programming Offtop
Alexander Nozik
Почему ломать. Ты просто говоришь, что ты локально выключаешь проверки. Такой unsafe режим
Почему отключаешь то? Ты у переменной-параметра указываешь интерфейс, который аргумент может не реализовать, но иметь такой же набор методов, все будет безопасно проверено в компайле
источник

AN

Alexander Nozik in Programming Offtop
Alexandr Emelyanov
Почему отключаешь то? Ты у переменной-параметра указываешь интерфейс, который аргумент может не реализовать, но иметь такой же набор методов, все будет безопасно проверено в компайле
Ну это уже не совсем утиная типизация. Вот это довольно сложно сделать
источник

AE

Alexandr Emelyanov in Programming Offtop
Iaroslav Orlov
да, но утиные интерфейсы не могут присутствовать на джвм, тк checkcast не пройдет к обычному. это выпадет из интеропа, либо выродится в рефлексию
Потому их надо сначала в jvm
источник

AE

Alexandr Emelyanov in Programming Offtop
Alexander Nozik
Могут, посмотри на груви
Плохой пример
источник

IO

Iaroslav Orlov in Programming Offtop
кстати. идея языка - компилировать все типы в туплы, а все вызовы методов делать статическими 😈
источник

AN

Alexander Nozik in Programming Offtop
Alexandr Emelyanov
Плохой пример
Почему плохой? Вы использовали груви за пределами градла?
источник

AN

Alexander Nozik in Programming Offtop
Iaroslav Orlov
кстати. идея языка - компилировать все типы в туплы, а все вызовы методов делать статическими 😈
лисп
источник

IO

Iaroslav Orlov in Programming Offtop
да, но в jvm и с нормальным синтакисом
источник

AE

Alexandr Emelyanov in Programming Offtop
Alexander Nozik
Ну это уже не совсем утиная типизация. Вот это довольно сложно сделать
Это как раз она и есть
источник

IO

Iaroslav Orlov in Programming Offtop
не кложнутым
источник