Size: a a a

2020 August 07

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Макросы - это средства для генерации кода средствами языка.
Любое средство генерации кода - макросы?
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
Любое средство генерации кода - макросы?
Я тебе дал определение, прочти внимательно
источник

p

polunin.ai in rust_offtopic
Есть генерация сторонними тулзами, например как в Го
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Я тебе дал определение, прочти внимательно
Это полное определение с тогда и только тогда или описательное в лучших традиции википедии (поле - это кольцо)?
источник

CD

Constantine Drozdov in rust_offtopic
Верно ли, что async в C# это макрос? Верно ли, что range-based for в C++ это макрос? Они все приводят к генерации кода и встроены в язык
источник

CD

Constantine Drozdov in rust_offtopic
что-то по async macro не предлагают c#
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
Верно ли, что async в C# это макрос? Верно ли, что range-based for в C++ это макрос? Они все приводят к генерации кода и встроены в язык
Смотря когда происходит генерация
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Смотря когда происходит генерация
При компиляции, в async генерируется стейт-машина
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
При компиляции, в async генерируется стейт-машина
При компиляции когда? После тайпчека или до?
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
При компиляции когда? После тайпчека или до?
а какая разница? Есть общепринятое определение, которое бы разделяло эти кейсы?
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
При компиляции когда? После тайпчека или до?
Ты не указал требование тайпчека. Более того, есть тайпчеки, которые в С++ проводятся до подстановки шаблонного параметра.
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Roman na
шаблоны в С++ тайпчекаются. Просто тайпчекинг разделяется на две стадии. Всё известное тайпчекается до инстанцирование, а неизвестное - после
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
При компиляции когда? После тайпчека или до?
#include <vector>
template <typename T> std::vector<int> f() {
   return 1 + 2; //ошибка компиляции
}
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
Вот я что-то не уверен что можно. Если можно то почему так ни один компилятор не делает? Почему "на практике это бесполезно"? Мне бы очень пригодилась авто-генерация концептов для шаблонного кода.
Я полагаю, что попытка строить выводы и амортизировать проверки за счёт обнаружения одинаковых проверок не приведет к ускорению компиляции хотя бы одного фрагмента кода. Крайне маловероятно, что оптимизация кода с разными типами приведет к одинаковому результату - они все слишком разные
источник

CD

Constantine Drozdov in rust_offtopic
Утилита, проверяющая полноту описания требований концептом, скорее всего возникнет
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
Утилита, проверяющая полноту описания требований концептом, скорее всего возникнет
А почему это изначально в компилятор не захотели включить?
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
Я полагаю, что попытка строить выводы и амортизировать проверки за счёт обнаружения одинаковых проверок не приведет к ускорению компиляции хотя бы одного фрагмента кода. Крайне маловероятно, что оптимизация кода с разными типами приведет к одинаковому результату - они все слишком разные
Скорость компиляции это не единственная метрика для компиляторов вроде.
источник

NL

Nick Linker in rust_offtopic
@webreh я форварды с "тсарскими" эпитетами и речевыми оборотами буду удалять. Если не хочешь терять пакеты, принуди его писать уважительно и по существу.

И желательно, чтбы он пользовался общеупотребимыми терминами, как "полиморфизм", а не своими выдуманными.
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
А почему это изначально в компилятор не захотели включить?
Потому что в этом нет необходимости в рамках компилятора. Компилятор решает минимальные задачи
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
Потому что в этом нет необходимости в рамках компилятора. Компилятор решает минимальные задачи
Компилятору нет необходимости проверять, что шаблонный код валиден?
источник