А есть какие-то более другие способы решения проблемы orphan instances на уровне языка или манипуляций с библиотеками в других языках с интерфейсами?
2017-06-04 14:08:51

Участники:
@qnikst - 4, @ndtimofeev - 3, @max630 - 1

@qnikst
а где такие языки?
#2873550/1 2017-06-04 14:10:59
@ndtimofeev
Во-первых ближайшие родственники (Rust и наверное Scala). Во-вторых интерфейсы помоему попса со времен Oberon'а. То есть они есть в Java (где нет множественного наследования), Go (где вообще нет наследования) и вроде бы каких-то объектных Паскалях и C#.
#2873550/2 → /1 2017-06-04 14:17:02
@qnikst
в Java нету орфанов, нельзя расширять существуюзий класс новыми интерфейсами, в расте вроде бы не было когерентности?
#2873550/3 → /2 2017-06-04 14:20:11
@qnikst
и.е. для интерфейсов типа Явы нету проблемы и.к. нельзя такое сделать в принципе
#2873550/4 → /3 2017-06-04 14:20:52
@ndtimofeev
И как в Rust живут без когерентности инстансов?
#2873550/5 → /3 2017-06-04 14:38:54
@qnikst
да без них вроде почти все живут чудом каким-то
#2873550/6 → /5 2017-06-04 15:08:11
@max630
единственный аналог который приходит в голову эти extensions methods в сишарпе. и я не уверен что ими можно инстанцировать интерфейс
#2873550/7 2017-06-04 15:10:55
@ndtimofeev
А Go? У них как с инстансами?
#2873550/8 → /3 2017-06-21 17:12:11