Size: a a a

2020 August 14

CD

Constantine Drozdov in rust_offtopic
классно я направление импликации перепутал, но надеюсь было понятно
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
Смотри, есть концепт ShapeWithArea, если концепт Shape. Любое требование концепта Shape верно для ShapeWithArea, перед нами наследование. Если рассматривать Shape и ShapeWithArea как предикаты, получается ShapeWithArea<T> -> Shape<T> (импликация)
ну ок, для трейтов так же работает
источник

AZ

Alex Zhukovsky in rust_offtopic
пока не вижу в чем отличия
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
ну ок, для трейтов так же работает
вопрос в том, что как только нас просят описать множество всех импликаций для трейтов, мы выполняем ту же работу, как когда записываем для интерфейсов (которые подозрительно крякают как зависимые типы, с которыми мы вообще не умеем работать)
потери информации еще не было, а мы уже начали подсказывать
источник

CD

Constantine Drozdov in rust_offtopic
при определении концепта предикатом проверка импликации на первом уровне тривиальна - сопоставляем списки требований
источник

CD

Constantine Drozdov in rust_offtopic
аналогичная конструкция в расте получится, если использовать алиасы для множества трейтов, не порождая при этом новый трейт
источник

AZ

Alex Zhukovsky in rust_offtopic
ну это ерунда
источник

AZ

Alex Zhukovsky in rust_offtopic
ты всегда можешь сделать свою комбинацию а потом impl<T : SomeCombTrait> MyCombTrait for T {}
источник

AZ

Alex Zhukovsky in rust_offtopic
в общем, таких проблем в практике я не наблюдаю
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
в общем, таких проблем в практике я не наблюдаю
эммм а кто мне говорил про expression problem? :)
источник

Ct

Casual tears in rust_offtopic
Т-34 85
ты этим обстоятельством никак не можешь воспользоваться
Можешь, просто твою тайплевел петушню типизировать придется, а не как на утиных крестах.
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
эммм а кто мне говорил про expression problem? :)
если у тебя есть функционал для расширения в том или ином направлении то она возникает реже когда ты правильно выбираешь свой сценарий
источник

AZ

Alex Zhukovsky in rust_offtopic
я пока не ошибался
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
если у тебя есть функционал для расширения в том или ином направлении то она возникает реже когда ты правильно выбираешь свой сценарий
так я описываю, как решить его вообще
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
Можешь, просто твою тайплевел петушню типизировать придется, а не как на утиных крестах.
и чем это будет отличаться от скриптового говна?
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
если у тебя есть функционал для расширения в том или ином направлении то она возникает реже когда ты правильно выбираешь свой сценарий
решение в том, что никакой трейт вообще не должен быть модифицирован, трейт это только имя для набора функций
источник

Ct

Casual tears in rust_offtopic
Т-34 85
и чем это будет отличаться от скриптового говна?
Тем что оно в компайл-тайме работает?
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
Тем что оно в компайл-тайме работает?
так а шо толку, если всё равно типы руками проставлять?
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
ты всегда можешь сделать свою комбинацию а потом impl<T : SomeCombTrait> MyCombTrait for T {}
представляешь, сколько вот такого ты напишешь после этого?
источник

Ct

Casual tears in rust_offtopic
Т-34 85
так а шо толку, если всё равно типы руками проставлять?
Интересный поинт. Языки со статической типизацией без вывода типов не нужны?
источник