Size: a a a

Programming Offtop

2020 June 25

VP

Vladimir Petrakovich in Programming Offtop
(
Да элементарно, тестировать на интах, в проде гонять на лонгах хотя бы
Звучит как дичь 🤔
источник

(

( in Programming Offtop
Vladimir Petrakovich
Звучит как дичь 🤔
Ну вообще-то да, они все равно боксятся
источник

AN

Alexander Nozik in Programming Offtop
(
Будет. Я не смогу её вызвать, если не будет тайпкласса
Какая-то буря непонимания. Хаскель делает точно ту же подстановку типов. Только неявно
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Ну вообще-то да, они все равно боксятся
Да даже если бы не боксились
источник

(

( in Programming Offtop
Alexander Nozik
Какая-то буря непонимания. Хаскель делает точно ту же подстановку типов. Только неявно
калька с хаскеля:
fun <T : Monoid> hehmda(t: T): T = ...

Если в месте вызова для T в скоупе не будет инстанса моноида, мне компилятор не даст вызвать эту функцию
источник

(

( in Programming Offtop
Это же не динамика какая-то, ей богу
источник

(

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

VP

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

(

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

(

( in Programming Offtop
Естественно, если это все чистое, но у меня это все чистое
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Так это же основные принципы формальной верификации, теории типов, множеств и всего прочего
F<A> можно проверять на любых A и это гарантирует, что F будет идентично работать для любых A
Дядя, ты на котлине пишешь, какая верификация?
источник

(

( in Programming Offtop
Vladimir Petrakovich
Дядя, ты на котлине пишешь, какая верификация?
Так, и что? Я все ещё могу прогнать миллион тестов с рандомными данными и спать спокойно
У меня целый котест для этого есть
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Так это же основные принципы формальной верификации, теории типов, множеств и всего прочего
F<A> можно проверять на любых A и это гарантирует, что F будет идентично работать для любых A
Ты можешь эту структуру на чём угодно тестить, а использовать в приложении с другим типом, только как это связано с этим?
https://t.me/pofftop/200231
источник

(

( in Programming Offtop
class Tree<K, A>(F: Field<K>) { ... }

test.kt
Tree<Int, Smth>(IntField)

prod.kt
Tree<Long, Smth>(LongField)
источник

VP

Vladimir Petrakovich in Programming Offtop
(
class Tree<K, A>(F: Field<K>) { ... }

test.kt
Tree<Int, Smth>(IntField)

prod.kt
Tree<Long, Smth>(LongField)
И что?
источник

VP

Vladimir Petrakovich in Programming Offtop
Пока я вижу только два куска кода с созданием структуры разного типа
источник

(

( in Programming Offtop
Изначально разговор был про то, как хорошо было бы в котлине иметь тайпклассы, передавать объект, который для женерика имплементирует свойство - это как раз вот этот разговор
источник

VP

Vladimir Petrakovich in Programming Offtop
(
Изначально разговор был про то, как хорошо было бы в котлине иметь тайпклассы, передавать объект, который для женерика имплементирует свойство - это как раз вот этот разговор
Так это самое хорошо надо, предположительно, достаточно редко, чтобы не страдать
источник

VP

Vladimir Petrakovich in Programming Offtop
Конкретно в данном случае
источник

(

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