Size: a a a

2021 March 03

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Почему динамические-то?
потому что он динамический. Потому как на уровне языка не происходит монорфизация.
источник

MS

Mikola Summer Duck in rust_offtopic
В мономорфизированной полиморфной функции в расте уже нет динамического диспатча, это не хаскель.
источник

r

red75prime in rust_offtopic
Mikola Summer Duck
Я тебя всё меньше и меньше понимаю.
Idée fixe
источник

MS

Mikola Summer Duck in rust_offtopic
Ну, мне хочется верить в лучшее в людях
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
В мономорфизированной полиморфной функции в расте уже нет динамического диспатча, это не хаскель.
читай то, о чём я писал выше. Я как раз писал о том, что вид диспатча ничего не значит. И это путает адептов
источник

RB

Roman Blog in rust_offtopic
за вид диспатча в расте отвечает кодоген и на чуть-чуть язык. Который просто имеет выражать "здесь сгенерируй статический, а здесь динамический"
источник

RB

Roman Blog in rust_offtopic
но он то будет уже после языка. И язык не имеет доступа к результатам монорфизации. Поэтому тайпчекинг и всё остальное работает с ними ещё до монорфизации. Для него это как был так и остаётся динамический полиморфизм.
источник

EP

Egor Pugin in rust_offtopic
Mikola Summer Duck
То есть. Давай так, каких возможностей полиморфизм раста не предоставляет так, чтоб не считать его настоящим шотландским полиморфизмом.
с id лямбдой был пример - |x| x
источник

RB

Roman Blog in rust_offtopic
Egor Pugin
с id лямбдой был пример - |x| x
ну лямбды в расте просто не полиморфные. Но это да, первопричиной так же является динамический полиморфизм
источник

RB

Roman Blog in rust_offtopic
если использовать его для лямбд, то она будет слишком ущербной. Поэтому его и нет
источник

r

red75prime in rust_offtopic
Egor Pugin
с id лямбдой был пример - |x| x
Замыкания в расте - это не дженерики.
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Ну, мне хочется верить в лучшее в людях
На самом деле это сложно понять. поэтому я всегда советую начинает с вещей более мощных. Если ты используешь менее мощную херню в своей практике, то мозг уже начинает мыслить в рамках её ограничений. И пока не попробуешь - сложно это понять
источник

MS

Mikola Summer Duck in rust_offtopic
Это какие? idris?
источник

RB

Roman Blog in rust_offtopic
да и чтобы попробовать нужно быть беспристрастным. Вон пример с персонажем выше. Он родил какую-то херню и назвал это "многопоточностью" и на мои вопросы "почему оно такой мусор" - доказывал, что лучше невозможно. И даже когда ему показали и доказали обратное - думаешь он изменился? Нет.
источник

MS

Mikola Summer Duck in rust_offtopic
Roman Blog
На самом деле это сложно понять. поэтому я всегда советую начинает с вещей более мощных. Если ты используешь менее мощную херню в своей практике, то мозг уже начинает мыслить в рамках её ограничений. И пока не попробуешь - сложно это понять
Я просто не понимаю что ты понимаешь под динамическим полиморфизмом если не „связывание в рантайме“
источник

RB

Roman Blog in rust_offtopic
поэтому первое чем ненужно быть - это адептом невежества
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Я просто не понимаю что ты понимаешь под динамическим полиморфизмом если не „связывание в рантайме“
Смотри, вот у нас есть функция, полиморфная. Если мы её инстанцируем на уровне языка- мы знаем какой тип пришёл в неё в момент вызова.
источник

RB

Roman Blog in rust_offtopic
если же нет, то мы не знаем какой в неё пришёл тип. Т.е. мы не можем сделать sizeof(именно на уровне языка). Именно поэтому динамический полиморфизм не может быть в статическом языка, потому как в статическом языке нам нужно знать sizeof
источник

MS

Mikola Summer Duck in rust_offtopic
И что нам это даёт? Мы ведь всё равно не можем полагаться на характеристики конкретного типа если пишем женерик.
источник

MS

Mikola Summer Duck in rust_offtopic
А, сайзоф.
источник