Size: a a a

2020 September 21

JC

Julian =) Coffee in pro.vim
Интересно, у статической диспетчеризации и динамической диспетчеризации разве прям разная семантика?
Нельзя делать в условном дебаг режиме динамическую диспетчеризацию, а в релизе статическую?
источник

EP

Evgeny Pichugin in pro.vim
Emmanuel Goldstein
Если выбираешь 1+2, как C++, то у тебя будет мономорфизация на этапе компиляции и, соответственно, долгая компиляция.
да есть штуки вроде https://liveplusplus.tech/
они весьма спасают от всего этого
источник

EG

Emmanuel Goldstein in pro.vim
Julian =) Coffee
Интересно, у статической диспетчеризации и динамической диспетчеризации разве прям разная семантика?
Нельзя делать в условном дебаг режиме динамическую диспетчеризацию, а в релизе статическую?
Сложная работа с статической/динамической диспетчеризацией есть в Swift. Благодаря этому он может использовать дженерик-функции из динамических библиотек практически без рантайм-штрафа за вызовы внутри одного бинарника
источник

EG

Emmanuel Goldstein in pro.vim
Кроме Swift не знаю ни одного языка, который тут делал бы что-то умное
источник

SS

Sergey Sikorskiy in pro.vim
Julian =) Coffee
Интересно, у статической диспетчеризации и динамической диспетчеризации разве прям разная семантика?
Нельзя делать в условном дебаг режиме динамическую диспетчеризацию, а в релизе статическую?
Как фраза “статическая диспетчеризация” звучит по-английски?
источник

EG

Emmanuel Goldstein in pro.vim
Sergey Sikorskiy
Как фраза “статическая диспетчеризация” звучит по-английски?
static dispatch
источник

EG

Emmanuel Goldstein in pro.vim
Emmanuel Goldstein
Сложная работа с статической/динамической диспетчеризацией есть в Swift. Благодаря этому он может использовать дженерик-функции из динамических библиотек практически без рантайм-штрафа за вызовы внутри одного бинарника
Вот хорошая статья про это
https://gankra.github.io/blah/swift-abi/
источник

SS

Sergey Sikorskiy in pro.vim
Emmanuel Goldstein
static dispatch
Что под этим имеется ввиду? CRTP?
источник

GK

Georgy Komarov in pro.vim
Emmanuel Goldstein
Если 2+3 как C или Go, то придётся дублировать код
А как в Go сейчас с дженериками? Их будут в каком-то виде добавлять в стандартную поставку языка? Или это так и останется на уровне экспериментальных тулзов типа go2go?
источник

EG

Emmanuel Goldstein in pro.vim
Sergey Sikorskiy
Что под этим имеется ввиду? CRTP?
Адрес функции, которую ты вызываешь, всегда известен в компайл-тайме
источник

EG

Emmanuel Goldstein in pro.vim
Georgy Komarov
А как в Go сейчас с дженериками? Их будут в каком-то виде добавлять в стандартную поставку языка? Или это так и останется на уровне экспериментальных тулзов типа go2go?
Сейчас никак. Обещают добавить в каком-то виде.
Сейчас вместо них кодогенерация текстом.
источник

GK

Georgy Komarov in pro.vim
Ведь это дополнительные затраты на компайл тайм.
источник

EG

Emmanuel Goldstein in pro.vim
Ну и пустые интерфейсы
источник

П

Павел in pro.vim
Georgy Komarov
А как в Go сейчас с дженериками? Их будут в каком-то виде добавлять в стандартную поставку языка? Или это так и останется на уровне экспериментальных тулзов типа go2go?
было ведь официальное заявление в блоге. В 2.0 будут эти дженерики, может быть немного изменятся
источник

GK

Georgy Komarov in pro.vim
Хм, ну интересно, как их реализуют. Если это вообще когда-нибудь случится.
источник

П

Павел in pro.vim
Georgy Komarov
Хм, ну интересно, как их реализуют. Если это вообще когда-нибудь случится.
дык на go2go уже реализовано и можно посмотреть исходные коды, если прям подробности-подробности как-то нужны
источник

н

немедленно in pro.vim
они транслятор сделали из go2  в го обычный
источник

н

немедленно in pro.vim
накидали пару примеров типа стандартной либы
источник

н

немедленно in pro.vim
но ваще чат с го чуть ниже
источник

b

in pro.vim
подскажите плагин, который мог бы при написании допустим sel (автокомплит показывает первое совпадение - self) при нажатии tab дописывал self и ставил точку . в случае если э то-класс, если ф-ия то писал скобки и параметры
источник