Size: a a a

Programming Offtop

2020 June 25

(

( in Programming Offtop
Vladimir Petrakovich
Над кем именно и зачем?
Над структурой, которой я передаю параметр "тайпкласса"
источник

AN

Alexander Nozik in Programming Offtop
(
Над структурой, которой я передаю параметр "тайпкласса"
а кто мешает-то?
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Над структурой, которой я передаю параметр "тайпкласса"
Не вижу проблем
источник

VP

Vladimir Petrakovich in Programming Offtop
Передаётся он при создании, дальше просто пользуешься
источник

AN

Alexander Nozik in Programming Offtop
fun RealField.cosh(arg: Number) = cosh(arg.toDouble)
источник

(

( in Programming Offtop
Vladimir Petrakovich
Передаётся он при создании, дальше просто пользуешься
Показываю:
fun <K, K1> Tree<K, T>.mapKey(F: Field<K1>, f: (K) -> K1): Tree<K1, T>
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
Передаётся он при создании, дальше просто пользуешься
и все его экстеншены тащишь за собой. При этом эктсешены видны только в том проекте, где они определены
источник

AN

Alexander Nozik in Programming Offtop
(
Показываю:
fun <K, K1> Tree<K, T>.mapKey(F: Field<K1>, f: (K) -> K1): Tree<K1, T>
тогда нужен маппер для филда таскать
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Показываю:
fun <K, K1> Tree<K, T>.mapKey(F: Field<K1>, f: (K) -> K1): Tree<K1, T>
Операция, конечно, интересная, но действительно ли тебе такое надо?
источник

VP

Vladimir Petrakovich in Programming Offtop
Больше похоже на оверинжиниринг
источник

(

( in Programming Offtop
Vladimir Petrakovich
Операция, конечно, интересная, но действительно ли тебе такое надо?
Что значит надо или не надо?
fun <T, R> List<T>.map(f: (T) -> R): List<R>

Операция, конечно, интересная, но действительно ли кому бы то ни было такое надо? Такой же вопрос
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Что значит надо или не надо?
fun <T, R> List<T>.map(f: (T) -> R): List<R>

Операция, конечно, интересная, но действительно ли кому бы то ни было такое надо? Такой же вопрос
А у мапы в stdlib есть mapKeys?
источник

(

( in Programming Offtop
Vladimir Petrakovich
А у мапы в stdlib есть mapKeys?
да
источник

VP

Vladimir Petrakovich in Programming Offtop
(
да
Ну ок. Но ты легко можешь сделать mapKeysTo.
источник

AN

Alexander Nozik in Programming Offtop
(
Показываю:
fun <K, K1> Tree<K, T>.mapKey(F: Field<K1>, f: (K) -> K1): Tree<K1, T>
А эта операция кстати никогда не будет работать нормально, потому что нет гарантии, что для типа будет тайп класс нужный. Ну и кстати, если уж прижгло, можно сделать свой inline fun <reified: T> fieldFor<T>: Field<T>. Будет совсем как в хаскеле.
источник

(

( in Programming Offtop
Alexander Nozik
А эта операция кстати никогда не будет работать нормально, потому что нет гарантии, что для типа будет тайп класс нужный. Ну и кстати, если уж прижгло, можно сделать свой inline fun <reified: T> fieldFor<T>: Field<T>. Будет совсем как в хаскеле.
Будет. Я не смогу её вызвать, если не будет тайпкласса
источник

(

( in Programming Offtop
Vladimir Petrakovich
Ну ок. Но ты легко можешь сделать mapKeysTo.
Типа, в какую-то такую же структуру? Не пойдет, у меня иммутабельно
источник

(

( in Programming Offtop
Тут причем даже не какие-то личные пристрастия, а просто иммутабельное дерево было сделать легче
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Типа, в какую-то такую же структуру? Не пойдет, у меня иммутабельно
Ну что ж, тогда в подобных операциях придётся всё-таки принимать этот объект. Но это надо только если тип ключей меняется. Не очень верится, что это часто нужно.
источник

(

( in Programming Offtop
Vladimir Petrakovich
Ну что ж, тогда в подобных операциях придётся всё-таки принимать этот объект. Но это надо только если тип ключей меняется. Не очень верится, что это часто нужно.
Да элементарно, тестировать на интах, в проде гонять на лонгах хотя бы
источник